免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1812 | 回复: 4
打印 上一主题 下一主题

update两个数据表的SQL语句的写法 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2004-01-08 13:54 |只看该作者 |倒序浏览
现有两个表,结构如下:
create table tb_a
(
        id  int,
        seq int
)
create table tb_b
(
        rown int,
        id           int
)
如果修改tb_a中的seq的值为tb_b中的rown,条件是tb_a.id=tb_b.id,在其它数据库中可以写成如下的语句:
update tb_a set a.seq=b.rown from tb_a a,tb_b b where a.id=b.id,但oracle不认这个语句,有没有好的方法?

论坛徽章:
0
2 [报告]
发表于 2004-01-08 14:18 |只看该作者

update两个数据表的SQL语句的写法

update tb_a set seq=(select rown from tb_b where tb_b.id=tb_a.id)

论坛徽章:
0
3 [报告]
发表于 2004-01-08 14:28 |只看该作者

update两个数据表的SQL语句的写法

多谢!!

论坛徽章:
0
4 [报告]
发表于 2004-01-08 16:29 |只看该作者

update两个数据表的SQL语句的写法

[quote]原帖由 "臭臭泥"]update tb_a set seq=(select rown from tb_b where tb_b.id=tb_a.id)[/quote 发表:


如果 tb_a中存在tb_b中不存在的列,tb_a中该列就会被更新成空值!!!!
这该怎样解决???????

论坛徽章:
0
5 [报告]
发表于 2004-01-08 16:45 |只看该作者

update两个数据表的SQL语句的写法

后面再加个条件:where tb_a.id in (select tb_b.id from tb_b)
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP