oracle 通过with字句更新另一个表

本文详细介绍了如何通过正确的语法结构,使用with语句生成临时表并将其用于更新物理表的数据,避免了常见的SQL错误。通过实例演示了改进后的SQL语句,并提供了相关链接以供深入学习。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

我想通过一个with语句生成个临时表a,再通过a的数据来更新物理表b的数据,但是写的时候总报错,例如:

with tablea as
(
select * from teable

)
update b set b.col2=(select a.col2 from tablea a where a.col1=b.col1)



但是运行时报错,请教大神该如何改写


=============================================================================

with只能紧跟select使用

update b set b.col2=(
with tablea as
(
select * from teable
)
select a.col2 from tablea a where a.col1=b.col1
)

参考: http://www.itpub.net/thread-1504941-1-1.html
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值