求大神帮我写个oracle语句?

[复制链接]
查看11 | 回复1 | 2013-9-26 01:20:39 | 显示全部楼层 |阅读模式
||知道
| 分类: 如图所示,jbxxb和IMPAQFJB通过容器位号关联,如何把IMPAQFJB中的容器位号改成jbxxb中所对应的容器序号。 下载知道APP,提问优先解答! 方式一:扫描二维码下载
方式二:短信免费下载
分享到:
1 小时前 提问者采纳 update impaqfjb a set 容器位号= select 容器序号 from jbxxb b where a.容器位号=b.容器位号 追问 这样不行,会说单行子查询返回多个行,因为IMPAQFJB容器位号会有重复 回答 update impaqfjb a set 容器位号=(select distinct(容器序号) from jbxxb b where a.容器位号=b.容器位号)或者update impaqfjb a set 容器位号=(select distinct(容器序号) from jbxxb b where a.容器位号=b.容器位号 and rownum=1) 追问 谢谢,第二个对了,为什么加上rownum=1就可以啊? 提问者评价谢谢!评论|
|采纳率22%擅长:暂未定制 按默认排序| 其他3条回答 1 小时前|三级 既然两张表通过容器位号这个字段关联,修改依据就是容器位号,那你要如何修改容器位号?修改其他的字段倒是可以语句为updateimpaqfjbaset序号=(select容器序号fromjbxxbbwherea.容器位号=b.容器位号)whereexists(select容器序号fromjbxxbbwherea.容器位号=b.容器位号) 追问 说单行子查询返回多个行 评论| 59 分钟前|二级 update IMPAQFJB a set 容器号=(select 容器序号 from jbxxb where 容器位号=a.容器位号); 更新前,把两个表备份下,以防不测! 追问 这样不行,会说单行子查询返回多个行,因为IMPAQFJB容器位号有重复 评论| 1 小时前热心网友 把IMPAQFJB中的容器位号改成jbxxb中所对应的容器序号,那改完以后如图所示,那jbxxb就通过容器序号和IMPAQFJB的容器位号关联了吧,如果我没理解错你的意思 追问 我就是不知道怎么把IMPAQFJB中的容器位号改成jbxxb中所对应的容器序号,用一个语句改,不是复制,复制的话那我复制死了,有很多 回答 create or replace procedure p_test begin OPEN V_CURSOR FOR SELECT IMPAQFJB. 容器位号 ,IMPAQFJB. 序号FROM IMPAQFJB,jbxxb WHERE where IMPAQFJB. 容器位号 =jbxxb. 容器位号 LOOP FETCH V_CURSOR INTO v_temp,v_tempid; EXIT WHEN V_CURSOR%NOTFOUND;update IMPAQFJB set IMPAQFJB. 容器位号 = v_temp where IMPAQFJB. 序号 = v_tempid; END LOOP;CLOSE V_CURSOR;end;你自己在调试一下。 评论| 其他类似问题 2013-05-122013-05-092010-09-292013-01-151 2012-07-192等待您来回答 0回答 101回答 151回答2回答 202回答2回答 51回答 301回答 100 邮箱登录 手机登录
帐号 密码 验证码 看不清? 记住我的登录状态
还没有百度账号? 123 精彩知识在知道
回复

使用道具 举报

千问 | 2013-9-26 01:20:39 | 显示全部楼层
| 2013Baidu|
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行