Ⅰ sql 多表关联字段互相替换 值更新
要先修改assessment表中的值,再修改department表中的值,try下,出错回滚事务,至于触发器是要在数据库中先建好的sqlserver中有级联删除和级联修改
Ⅱ 如何实现MSSQL数据库多表关联更新
--你要先在测试库测试哦
--建表
createtablet_bd_item_info
(
item_noVarchar(20),
item_subnoVarchar(20)
)
--测试数据
insertintot_bd_item_infovalues('12345678','98765432')
insertintot_bd_item_infovalues('123456789012','12345678')
insertintot_bd_item_infovalues('1234567801234','98976543')
--得到需要替换的item_no和item_subno
Select*into#TmpFrom
(
Select*,ROW_NUMBER()over(partitionbyitem_subnoorderbyitem_no)Asid
Fromt_bd_item_infoA
Wherelen(item_no)in(12,13)andLEN(item_subno)=8
Andnotexists(Select*Fromt_bd_item_infoBwhereB.item_no=A.item_subno)
)SwhereID=1
--替换(包含item_no的所有表都替换)
Execsp_MSforeachtable@command1="Update?Setitem_no=B.item_subnoFrom?Ainnerjoin#TmpBonA.item_no=B.item_no",@whereand="Ando.namein(selectdistinctobject_name(object_id)fromsys.columnswherename='item_no')"
--删除临时表
DropTable#Tmp
Ⅲ SQL语句UPDATE 多表关联的
语句没有语法错误,你用的什么数据库?
有些很早期的数据库,或者是很简单的数据库是不支持多表查询的,比如access97等
你这个在执行的时候有报错吗,你能把执行后的日志打出来吗?
Ⅳ sql 一个多表连接的更新语句
update A
set ls = xx.ls
from (select B.bmid,C.ls from B inner join C on B.dj = C.dj) xx
where xx.bmid = A.bmid
Ⅳ SQL Server 多表连接查询到的数据更新到一个表里面,
update a set a.stnm=a.stnm+'('+c.ADNM+')'
from ST_STBPRP_B AS a inner join ST_AD_B AS b on a.STCD=b.STCD
inner join AD_CD_B c on b.ADCD=c.ADCD
Ⅵ SQl update 多表关联 问题
update a
set
A.shl = A.shl - B.shl
from a,b
where
A.spid = B.spid and
A.fdbs = B.fdbs and
A.rq = B.rq and
A.ontime > '17:37:18' and
A.shky = '002' and
A.fdbs = 'HKD'
你是要这个??表的别名自己加下
set A.shl = A.shl =A.shl - B.shl
都告诉你第二行错误了
A.shl = A.shl =A.shl - B.shl 是什么写法
Ⅶ SQLSERVER 多表关联如何更新
update 表C
set 表C.c3=表B.b3
from 表C
where 表C.c1=表A.a2 and 表C.c2=表B.b2
您说的还没搞明白,从语法上讲应该是这样的,不知道行不行,只做过2个表之间关联更新的,您这个要3个表,而且B表和 C表的关联有没有呢?
Ⅷ SQL Server数据库多表关联如何更新
一条Update更新语句是不能更新多张表的,除非使用触发器隐含更新。而表的更新操作中,在很多情况下需要在表达式中引用要更新的表以外的数据。我们先来讨论根据其他表数据更新你要更新的表
一、MS SQL Server 多表关联更新
sql server提供了update的from 子句,可以将要更新的表与其它的数据源连接起来。虽然只能对一个表进行更新,但是通过将要更新的表与其它的数据源连接起来,就可以在update的表达式 中引用要更新的表以外的其它数据。
一般形式:
update A SET 字段1=B表字段表达式, 字段2=B表字段表达式 from B WHERE 逻辑表达式
例如:
UPDATE dbo.Table2
SET dbo.Table2.ColB = dbo.Table2.ColB + dbo.Table1.ColB
FROM dbo.Table2
INNER JOIN dbo.Table1
ON (dbo.Table2.ColA = dbo.Table1.ColA);
实际更新的操作是在要更新的表上进行的,而不是在from子句所形成的新的结果集上进行的
Ⅸ orcal数据库 sql update 多表关联如何更新
update table1 set A3=(select b2 from table2 ,table3 where table1.A1=table2.B1 and table1.A1=table3.C1 and table3.C2='你要的条件')
Ⅹ 求sql语句 多表关联更新数据
update 表1
set B = 1
from 表2
where 表1.A=表2.A
------
你确认你实际表中的内容的情况真的是你题目描述的情况吗?
如果是这样,这条语句是可行的,对了,如果列A中存在空值(null),这条语句是忽视空值的