oacle怎么更新表内一行数据?

刘痕 2009-05-14 08:30:31
update A a set a.a= b.b from B b on a = '007'


update A a set a.a = b.b from B b where a = '007',


都不对,为什么呢?

这下这么写啊!、


update A a set a.a = b.b
a.a1 = **
a.a2 = ‘0303’
a.a3 = **
a.a4 = sysdate
.......
from B b where a = '007',


很多的,也不可能只是A.B两个表,我只是举个例子!

...全文
71 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
fosjos 2009-05-15
  • 打赏
  • 举报
回复
说到底还是要从其他表select,还是要where找对应记录
刘痕 2009-05-15
  • 打赏
  • 举报
回复
但是有些值是要固定赋值进去的。
update A a set a.a = b.b
a.a1 = **
a.a2 = ‘0303’
a.a3 = **
a.a4 = sysdate
.......

这样的。。。。无法实现吗?
fosjos 2009-05-15
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 hateson 的回复:]
那样很多数据的话,还要一个个select吗?如果用数据集的话,有些事直接赋值的,怎么可能?
[/Quote]
不是select,你怎么确定是对应哪一条记录
刘痕 2009-05-15
  • 打赏
  • 举报
回复
那样很多数据的话,还要一个个select吗?如果用数据集的话,有些事直接赋值的,怎么可能?
oraclelogan 2009-05-14
  • 打赏
  • 举报
回复
update A set a.a=(select b.b from B where a.id=b.id) where a.a='007'
oraclelogan 2009-05-14
  • 打赏
  • 举报
回复
update A set a.a=(select b.b from B where a.id=b.id and a.a='007')


这才是oracle的写法。
bw555 2009-05-14
  • 打赏
  • 举报
回复
是这个意思么?
update A a set a =(select b.b from B b  where a = '007')
where a = '007'
niuxinlong 2009-05-14
  • 打赏
  • 举报
回复
俺也不知道oracle有这样的写法
ehsgs 2009-05-14
  • 打赏
  • 举报
回复
你这不是oracle的语法

17,086

社区成员

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

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