专注收集记录技术开发学习笔记、技术难点、解决方案
网站信息搜索 >> 请输入关键词:
您当前的位置: 首页 > Oracle面试

蛋疼的笔试题目,求指教! 一条sql语句同时修改两个表中的字段解决办法

发布时间:2010-05-20 14:01:29 文章来源:www.iduyao.cn 采编人员:星星草
蛋疼的笔试题目,求指教!! 一条sql语句同时修改两个表中的字段
1、 表名:g_cardapply

  字段(字段名/类型/长度):

  g_applyno varchar 8;//申请单号(关键字)

  g_applydate bigint 8;//申请日期

  g_state varchar 2;//申请状态

  2、 表名:g_cardapplydetail

  字段(字段名/类型/长度):

  g_applyno varchar 8;//申请单号(关键字)

  g_name varchar 30;//申请人姓名

  g_idcard varchar 18;//申请人身份证号

  g_state varchar 2;//申请状态

  其中,两个表的关联字段为申请单号。



题目:---------------------------

 将身份证号码为440401430103082的记录在两个表中的申请状态均改为07


注意!!!: 一条SQL语句,是一条!!! 不要触发器,不要过程函数!!! 求大神指点迷津!

------解决方案--------------------
SQL code
--这个可以更新啊!两个表的主键都是g_applyno varchar 8;//申请单号(关键字)吧?
update g_cardapply a inner join g_cardapplydetail b
on a.g_applyno = b.g_applyno and b.g_idcard = '440401430103082'
set a.g_state = '07', b.g_state = '07'

------解决方案--------------------
真是蛋疼,出这样笔试题的人应该拉出去打。oracle是用来服务使用的,不是用来难为人的。
别说不能同时更新,即使能同时更新,尼玛为啥非这样要求呢。还不让用过程,还不触发器
据说mysql支持多表同时更新。
------解决方案--------------------
探讨
SQL code
--这个可以更新啊!两个表的主键都是g_applyno varchar 8;//申请单号(关键字)吧?
update g_cardapply a inner join g_cardapplydetail b
on a.g_applyno = b.g_applyno and b.g_idcard = '440401430103082'
set a.g_state = '07……

------解决方案--------------------
oracle中update语句不支持表关联吧,用merge into试一下吧
------解决方案--------------------
探讨
oracle中update语句不支持表关联吧,用merge into试一下吧

------解决方案--------------------
探讨
这题搁到 sql server就非常简单了.

update t.g_state='07' ,t1.g_state='07'

from g_cardapply t ,g_cardapplydetail t1
where t.g_applyno=t1.g_applyno and t1.g_idcard='440401430103082'

------解决方案--------------------
SQL code

----你这两个表的主键都是一样的那就好搞啊。使用视图更新就行了,这种用法只适合主键相同情况
update (select a1.g_applyno, a1.g_state gs1, a2.g_idcard, a2.g.g_state gs2
          from g_cardapply a1, g_applyno a2
         where a1.g_applyno = a2.g_applyno
           and a2.g_idcard = '440401430103082') v
   set v.gs1 = '07', v.gs2 = '07'

------解决方案--------------------
update语句不支持表关联吧???
谁说ORACLE不支持啊???????
用关联更新或者用视图更新都可以了!
------解决方案--------------------
探讨

update语句不支持表关联吧???
谁说ORACLE不支持啊???????
用关联更新或者用视图更新都可以了!
友情提示:
信息收集于互联网,如果您发现错误或造成侵权,请及时通知本站更正或删除,具体联系方式见页面底部联系我们,谢谢。

其他相似内容:

热门推荐: