nczl.net
当前位置:首页 >> orAClE upDAtE sEt iF >>

orAClE upDAtE sEt iF

语句没问题,问题在于你B表的name有重复的,所以匹配到就是多个的结果,自然不能实现对单个A表的一条记录进行更新,你看是否能找个唯一的字段进行匹配

假设表a中有多个字段(province ,city)需要从b表获取(两张表的mobile一样),总结了几种写法。 一、updatea set a.province=(select province from b where b.mobile=a.mobile); updatea set a.city=(select cityfrom b where b.mobile=a.mob...

WHERE EXISTS ( SELECT 1 FROM ( from (select rownum rn, t.* from M_CHARGEPOLE_REAL t 那行多了 from ( WHERE EXISTS ( SELECT 1 FROM (select rownum rn, t.* from M_CHARGEPOLE_REAL t 一个sql都一天了还没搞定 有问题私聊我

其实这个执行,就是相当于一个case when一样 如果遇到符合修改条件,即包含'xxx',那么就会替换,不包含的时候,就不变了。 不会对数据产生影响的。

update test set set b=select b1 from temp where test.id=temp.id); 给你举了个例子,id是这两个表都有的连接字段,而且对同一个id。查询select * FROM TEST,TEMP where test.id=temp.id 仅返回一条

update tranbill set odate=to_date('20101214','yyyymmdd') where bcode='0409'

select的字段不需要括号,select本身需要 =(select CHAGRGEPOLE_STATUS , CHAR。。。C.EQUIP_NO)

试试这样: update tabxxx set a = (case when a = 'aa' then 'dd' else a end), b = (case when b = 'aa' then 'dd' else b end) where a = 'aa' or b='aa'

你这个语法只能更新第一个字段。 Update XXX表 set Nyname = 1 where 条件 = 。。。 ; commit;

看你 的使用的环境,如果自己在JDBC写SQL语句,可以用参数 PreparedStatement pstmt = con.prepareStatement("UPDATE EMPLOYEES SET SALARY = ? WHERE ID = ?"); pstmt.setBigDecimal(1, 153833.00) pstmt.setInt(2, 110592)

网站首页 | 网站地图
All rights reserved Powered by www.nczl.net
copyright ©right 2010-2021。
内容来自网络,如有侵犯请联系客服。zhit325@qq.com