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$') 

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

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

相关文章推荐

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

mybatis????????????????? ???????????????????????????????????? ?????????????????????ids??????????????...

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

oracle 同时更新(update)多个字段多个值 分类: 数据库 2010-09-17 14:47 17108人阅读 评论(1) 收藏 举报 oracleinsertta...

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

--创建表A,B: create table A (a1 varchar2(33),a2 varchar2(33),a3 varchar2(33)); create table B (b1...

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

oracle 同时更新(update)多个字段多个值 分类: 数据库2010-09-17 14:47 28532人阅读 评论(1) 收藏 举报 oracleinserttable ...

SQL Server数据库自增长字段标识列的更新(update)修改终极操作方法

SQL Server数据库自增长标识列的更新修改操作方法 在日常的sql server开发中,经常会用到Identity类型的标识列作为一个表结构的自增长编号。比如文章编号、记录序号等等。自增长的标...

Hibernate update 只更新被修改字段

Hibernate 中如果直接使用 Session.update(Object o); 会把这个表中的所有字段更新一遍。 如果我们只更改了state属性,而H...

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

出处:http://www.cnblogs.com/jifeng/archive/2010/06/19/1760751.html Hibernate 中如果直接使用 Session.upd...

“INSERT ON DUPLICATE KEY UPDATE”更新部分字段

之前的wormhole(我们开发的大规模批量数据传导工具,类似apache的sqoop,淘宝的datax)的mysql writer支持insert into 和 replace into两种方式入m...

Hibernate 更新部分更改的字段 hibernate update

Hibernate 中如果直接使用   Session.update(Object o);   会把这个表中的所有字段更新一遍。   比如: Hibernate: updat...

在查询分析器中执行update更新一个字段查询一直执行但不会成功

错误描述: 最近一段时间早上查看我维护的一个网站,每次都出现连接数据库超时一过期的提示。在服务器上登陆不了sqlserver。在服务中也停止不了sqlserver服务。 只能在任务管理器中...
  • sxf359
  • sxf359
  • 2016年11月25日 10:36
  • 496
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:update更新多个字段
举报原因:
原因补充:

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