lzth.net
当前位置:首页 >> upDAtE sElECt From >>

upDAtE sElECt From

什么数据库?不同数据库的语法不同

不知道你要select from后跟update或delete是为了干什么? sqlserver支持: update ... from 的语法,就是根据另一个表来更新第一个表的。 但是delete from就不能跟第二个表了;不过可以用子查询来实现第二个表参与查询。

update table t1 set (t1.b, t1.c) = (select t2.b1, t2.c1 from table1 t2 where t1.a = t2.a1) where exists (select 1 from from table1 t2 where t1.a = t2.a1)

for update的作用是用于对选择的行加排他锁的,在有些情况下,事务的处理需要先选中一些记录,再对这些记录进行处理.因此需要排他锁. 而for update nowait的作用与for update相同,不同的是其他事务申请被锁定的行数据时是等待该事务释放资源,还是直...

----------------------------------------- --Update 与 Select 一起的用法 --Update 通过多表来修改数据 ----------------------------------------- --参考写法1: update B1 set strNum = strNum - B2.intNum where strId in (select intId ...

他们已经说了相关的东西了 我再补充几点: 分成两类:加锁范围子句和加锁行为子句 加锁范围子句: 在select…for update之后,可以使用of子句选择对select的特定数据表进行加锁操作。默认情况下,不使用of子句表示在select所有的数据表中加锁 加...

这样写就没有问题了: update 统计表 as a,(select sum(数学) as sum from 考试成绩表) as b set a.总分=b.sum;

你可以将select 结果当成一个派生表与A表关联更新就可以了 类似如下 update A set 列名 = B.列名 from (select 编码,count(*)as 列名1,SUM(CASE WHEN 条件 THEN 1 ELSE 0 END) AS 列名 from c表 group by 编码) as B where A.编号 = B.编号

同时查询更新数据不行。 使用查询结果更新数据可以 update t1 set (col1,col2)=(select r1,r2 from xxxxxxx) where xxxx

update t1 set 数量=(sekect count(1) from t2 where t2.cln1=t1.类别) where exists(select 1 from t2 where t2.cln1=t1.类别)

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