oracle01733,database - Oracle Update Query on Select Query |错误ORA-01733此处不允许使用虚拟列 - SO中文参考 - www.soi...

当尝试使用Oracle 12c执行包含虚拟列的UPDATE子查询时,出现错误ORA-01733。这个问题可以通过改用MERGE语句来解决,以更新CLOB列中的特定内容。
摘要由CSDN通过智能技术生成

Oracle Update Query on Select Query |错误ORA-01733此处不允许使用虚拟列

问题描述 投票:2回答:1

update(

select id, word, status

case when sm = 1 and status = 'Renew'

then coalesce(lgst, 'Add')

else status

end as status1,

timestamp,

clob_column

from

(select id, word, status,

sum(case when status = 'Renew' then 1 else 0 end) over (partition by id order by timestamp) as sm,

lag(status) over (partition by id order by timestamp) as lgst, timestamp, clob_column

from your_table)_

set clob_column = REPLACE( clob_column , '"key":'||status, '"key":'||status1);

在上述查询中运行时出现错误set clob_column = REPLACE(clob_column,'“ key”:'||状态,'“ key”:'|| status1)命令行错误:26列:7错误报告:SQL错误:ORA-01733:此

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值