oracle报缺失字段名

weixin_44933093 2021-02-19 05:23:38
UPDATE fr_report_task
SET task_name =
CASE

WHEN task_id = '05691e5afa1e405d97eded85ef5ef3e8'
AND fiscal = 2021
AND task_code = '2020'
AND agy_code = '101' THEN
task_name = '2020部门决算报表'
WHEN task_id = '6bf2655f0a5e49bd9abe9bd18bf14f7e'
AND fiscal = 2021
AND task_code = '2019'
AND agy_code = '101' THEN
task_name = '2019部门决算报表(标准--第三版)'
WHEN task_id = '9b834976585a49cdb107626c6f7c6303'
AND fiscal = 2021
AND task_code = '2020'
AND agy_code = '101' THEN
task_name = '2020部门决算报表'
WHEN task_id = 'b83b5b673dee40dea417c7cf07b6b535'
AND fiscal = 2021
AND task_code = '2020'
AND agy_code = '101' THEN
task_name = '2020部门决算报表'
WHEN task_id = 'd4eb1a0236da488ea3524a19c80dc5b3'
AND fiscal = 2021
AND task_code = '2020'
AND agy_code = '101' THEN
task_name = '2020部门决算报表'
WHEN task_id = 'e1a4d5ec0c59474a80473aed9a8785b5'
AND fiscal = 2021
AND task_code = '2020'
AND agy_code = '101' THEN
task_name = '2020部门决算报表'
WHEN task_id = 'f159f243868347cda48df543f14f3a1d'
AND fiscal = 2021
AND task_code = '0001'
AND agy_code = '101' THEN
task_name = '固定报表'
END
> ORA-00905: missing keyword什么原因
...全文
160 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
weixin_44933093 2021-03-10
  • 打赏
  • 举报
回复
感谢答主,已经解决了
AHUA1001 2021-03-10
  • 打赏
  • 举报
回复

CASE语句不能这样用,而且这样可能会有性能问题。
可以把这个语句拆成多个。
UPDATE fr_report_task
SET task_name = '2020部门决算报表'
WHERE task_id = '05691e5afa1e405d97eded85ef5ef3e8'
AND fiscal = 2021
AND task_code = '2020'
AND agy_code = '101' ;

UPDATE fr_report_task
SET task_name = '2019部门决算报表(标准--第三版)'
WHERE task_id = '6bf2655f0a5e49bd9abe9bd18bf14f7e'
AND fiscal = 2021
AND task_code = '2019'
AND agy_code = '101' ;


UPDATE fr_report_task
SET task_name = '2020部门决算报表'
WHERE task_id = '9b834976585a49cdb107626c6f7c6303'
AND fiscal = 2021
AND task_code = '2020'
AND agy_code = '101' ;


UPDATE fr_report_task
SET task_name = '2020部门决算报表'
WHERE task_id = 'b83b5b673dee40dea417c7cf07b6b535'
AND fiscal = 2021
AND task_code = '2020'
AND agy_code = '101' ;


UPDATE fr_report_task
SET task_name = '2020部门决算报表'
WHERE task_id = 'd4eb1a0236da488ea3524a19c80dc5b3'
AND fiscal = 2021
AND task_code = '2020'
AND agy_code = '101' ;


UPDATE fr_report_task
SET task_name = '2020部门决算报表'
WHERE task_id = 'e1a4d5ec0c59474a80473aed9a8785b5'
AND fiscal = 2021
AND task_code = '2020'
AND agy_code = '101' ;


UPDATE fr_report_task
SET task_name = '固定报表'
WHERE task_id = 'f159f243868347cda48df543f14f3a1d'
AND fiscal = 2021
AND task_code = '0001'
AND agy_code = '101' ;

卖水果的net 2021-02-20
  • 打赏
  • 举报
回复
task_name = CASE WHEN task_id = '05691e5afa1e405d97eded85ef5ef3e8' AND fiscal = 2021 AND task_code = '2020' AND agy_code = '101' THEN task_name = '2020部门决算报表' 标红部分去掉
wyqxrj 2021-02-20
  • 打赏
  • 举报
回复
then 跟着的是值,不是等式

17,086

社区成员

发帖
与我相关
我的任务
社区描述
Oracle开发相关技术讨论
社区管理员
  • 开发
  • Lucifer三思而后行
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧