欢迎来到Doc100.Net免费学习资源知识分享平台!
您的位置:首页 > 程序异常 >

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

更新时间: 2014-01-05 02:15:58 责任编辑: Author_N1

 

蛋疼的笔试题目,求指教!! 一条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语句,是一条!!! 不要触发器,不要过程函数!!! 求大神指点迷津!
--参考方法--
--这个可以更新啊!两个表的主键都是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……


执行不了,缺失SET关键字
--参考方法--
oracle中update语句不支持表关联吧,用merge into试一下吧
--参考方法--
引用:
oracle中update语句不支持表关联吧,用merge into试一下吧

据我所知,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语句 有点难搞
--参考方法--

----你这两个表的主键都是一样的那就好搞啊。使用视图更新就行了,这种用法只适合主键相同情况
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不支持啊???????
用关联更新或者用视图更新都可以了!
上一篇:上一篇
下一篇:下一篇

 

随机推荐程序问答结果

 

 

如对文章有任何疑问请提交到问题反馈,或者您对内容不满意,请您反馈给我们DOC100.NET论坛发贴求解。
DOC100.NET资源网,机器学习分类整理更新日期::2014-01-05 02:15:58
如需转载,请注明文章出处和来源网址:http://www.doc100.net/bugs/t/7718/
本文WWW.DOC100.NET DOC100.NET版权所有。