Ⅰ 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),這條語句是忽視空值的