update更新多个字段

原创 2016年05月31日 10:55:39

oracle可执行数据库语句:

UPDATE yl_lnrxx 
   SET (lbtid, lsfxs, lksrq, ljsrq, lfwzjid, lfwzjmc) =  
   (select x_id, 1, xksxsrq, xjsxsrq, xfwzjid, xfwzj from btjs_xszffwbt  where x_id = '$pkid$' AND sys_spzt = 1 AND sys_djzt = '1')  
 WHERE pk_yl_lnrxx = (select xlnrid from btjs_xszffwbt where x_id  = '$pkid$')

但在mysql无法识别,需要转换语法

尝试mysql语法:

 UPDATE yl_lnrxx a, (select x_id, 1 AS sfxs,xksxsrq, xjsxsrq, xfwzjid, xfwzj from btjs_xszffwbt  where x_id = '$pkid$' AND sys_spzt = 1 AND sys_djzt = '1')  b 
 SET a.lbtid = b.x_id, a.lsfxs = b.sfxs,a.lksrq =b.xksxsrq,a.ljsrq=b.xjsxsrq,a.lfwzjid =b.xfwzjid,a.lfwzjmc=b.xfwzj 
 WHERE pk_yl_lnrxx = (select xlnrid from btjs_xszffwbt where x_id  = '$pkid$')

mysql可行,oracle报错:missing SET  keyword 
oracle调试无解

单个单个获取,两者能通用,但是语句多,繁琐。
UPDATE yl_lnrxx 
 SET lbtid =  (select x_id from  (select x_id from btjs_xszffwbt  where x_id = '$pkid$' AND sys_spzt = 1 AND sys_djzt = '1')  xx),
     lsfxs =  1,
     lksrq =  (select xksxsrq from  (select xksxsrq from btjs_xszffwbt  where x_id = '$pkid$' AND sys_spzt = 1 AND sys_djzt = '1')  xx),
     ljsrq =  (select xjsxsrq from  (select xjsxsrq from btjs_xszffwbt  where x_id = '$pkid$' AND sys_spzt = 1 AND sys_djzt = '1')  xx),
     lfwzjid =  (select xfwzjid from  (select xfwzjid from btjs_xszffwbt  where x_id = '$pkid$' AND sys_spzt = 1 AND sys_djzt = '1')  xx),
     lfwzjmc =  (select xfwzj from  (select xfwzj from btjs_xszffwbt  where x_id = '$pkid$' AND sys_spzt = 1 AND sys_djzt = '1')  xx)
 WHERE pk_yl_lnrxx = (select xlnrid from btjs_xszffwbt where x_id  = '$pkid$') 

需要有更好的方式处理
写类,让它们规范的转化,而不是直接用数据库语句让它们转化

版权声明:本文为博主原创文章,未经博主允许不得转载。

数据库 UPDATE多条记录不同值,同时UPDATE多个字段

数据库 UPDATE多条记录不同值,同时UPDATE多个字段。
  • catoop
  • catoop
  • 2015年06月28日 14:31
  • 55134

mybatis批量更新update-设置多个字段值

mybatis????????????????? ???????????????????????????????????? ?????????????????????ids??????????????...
  • mingliangniwo
  • mingliangniwo
  • 2016年08月01日 12:49
  • 19522

oracle 同时更新(update)多个字段多个值

oracle 同时更新(update)多个字段多个值 分类: 数据库2010-09-17 14:47 28532人阅读 评论(1) 收藏 举报 oracleinserttable ...
  • lenovouser
  • lenovouser
  • 2015年09月29日 08:11
  • 3373

mybatis批量更新update-设置多个字段值

mybatis????????????????? ???????????????????????????????????? ?????????????????????ids??????????????...
  • mingliangniwo
  • mingliangniwo
  • 2016年08月01日 12:49
  • 19522

oracle 同时更新(update)多个字段多个值

--创建表A,B: create table A (a1 varchar2(33),a2 varchar2(33),a3 varchar2(33)); create table B (b1...
  • lang_man_xing
  • lang_man_xing
  • 2012年07月31日 16:26
  • 1658

oracle 同时更新(update)多个字段多个值

oracle 同时更新(update)多个字段多个值 分类: 数据库 2010-09-17 14:47 17108人阅读 评论(1) 收藏 举报 oracleinsertta...
  • itchuxuezhe_yang
  • itchuxuezhe_yang
  • 2014年11月06日 14:21
  • 195

oracle 同时更新(update)多个字段多个值

oracle 同时更新(update)多个字段多个值 分类: 数据库2010-09-17 14:47 28532人阅读 评论(1) 收藏 举报 oracleinserttable ...
  • lenovouser
  • lenovouser
  • 2015年09月29日 08:11
  • 3373

oracle 同时更新(update)多个字段多个值

--创建表A,B: create table A (a1 varchar2(33),a2 varchar2(33),a3 varchar2(33)); create table B (b1...
  • zb0567
  • zb0567
  • 2015年01月19日 21:44
  • 3033

Hibernate update 只更新被修改字段

Hibernate 中如果直接使用 Session.update(Object o); 会把这个表中的所有字段更新一遍。 如果我们只更改了state属性,而H...
  • u012038649
  • u012038649
  • 2016年09月19日 17:03
  • 7404

hibernate update 只更新部分字段的3种方法

出处:http://www.cnblogs.com/jifeng/archive/2010/06/19/1760751.html Hibernate 中如果直接使用 Session.upd...
  • gaohe7091
  • gaohe7091
  • 2014年08月27日 15:08
  • 465
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:update更新多个字段
举报原因:
原因补充:

(最多只允许输入30个字)