❶ update sql 兩個關聯的表
一、當用一個表中的數據來更新另一個表中的數據,T-SQL提供多種寫法(下面列出了二種),但建議用第一種寫法,雖然傳統,但結構清晰。
並且要注意,當用一個表中的數據來更新另一個表中的數據時,二個表一定要有關聯!
1.
update t1
set t1.c2 = t2.c2
fro m t2
where t1.c1 = t2.c1
2.
Update t1
set t1.c2 = t2.c2
fro m t1 inner join t2
on t1.c1 = t2.c1
二、FROM 子句中指定的表的別名不能作為 SET column_name 子句中被修改欄位的限定符使用。
例如,下面的內容無效:
UPDATE titles
SET t.ytd_sales = t.ytd_sales + s.qty
FROM titles t, sales s
WHERE t.title_id = s.title_id
AND s.ord_date = (SELECT MAX(sales.ord_date) FROM sales)
若要使上例合法,請從列名中刪除別名 t 或使用本身的表名。
1.
UPDATE titles
SET ytd_sales = t.ytd_sales + s.qty
FROM titles t, sales s
WHERE t.title_id = s.title_id
AND s.ord_date = (SELECT MAX(sales.ord_date) FROM sales)
2.
UPDATE titles
SET titles.ytd_sales = t.ytd_sales + s.qty
FROM titles t, sales s
WHERE t.title_id = s.title_id
AND s.ord_date = (SELECT MAX(sales.ord_date) FROM sales)
❷ 寫SQL語句:更新關聯表,有兩個表A、B,以卡號為關聯,將B中的姓名更新到A中
Update 表A Set 姓名=表B.姓名 where 表A.卡號=表B.卡號
❸ SQL Server中 兩個不同的資料庫中的兩張表如何關聯
1、首先就是創建幾個沒有任何關系的表,但是注意,你在將要作為外鍵表的表上必須使用與將要作為主鍵表的數據類型相同。
❹ sql server 如何同時更新兩張有關系的表
可以使用事務,但是只有當兩張表都被更新了才會執行成功,否則事務回滾.
例如:
begin tran --開始執行事務
update bb set moneys=moneys-@momeys where ID=@fromID -執行的第一個操作,轉賬出錢,減去轉出的金額
update bb set moneys=moneys+@momeys where ID=@toID --執行第二個操作,接受轉賬的金額,增加
if @@error<>0 --判斷如果兩條語句有任何一條出現錯誤
begin rollback tran –開始執行事務的回滾,恢復的轉賬開始之前狀態
return 0
end
go
❺ 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子句所形成的新的結果集上進行的
❻ sql server 2008 怎麼做到,同時更新兩個表,兩個表有主鍵關聯
如果是用SQL語句建表,如下:(假設要讓a和c組合作為主碼)
create table t1(
a int,
b varchar(20),
c int,
primary key(a,c)
)
如果用圖形化界面做,按住ctrl鍵,然後選擇a和c兩個列,接著右鍵菜單選擇「設置為主鍵」即可。
❼ sql update 兩個表更新問題
你說的太籠統了
假設每個居民的機構代碼都能從機構表中找到機構代碼,
且對應的上級機構不會再有上級機構
用以下SQL就可以更新
UPDATEINHABITANTT1
SETT1.JGBM=
(SELECTT2.SJJGBM
FROMINSTITUTIONT2
WHERET2.JGBM=T1.JGBM)
有問題再追問
❽ sql可以兩個表一起更新數據嗎
如果兩個表有關聯的話是可以的,比如A表的id和b表的b_id外鍵關系就可以
update a left join b on a.id = b.b_id set a.name = '',b.name='' (where條件)
❾ SQL SERVER 2008 有兩張表,需要將表A的一列數據 更新到表B,需要數據ID相對應,即通過主鍵關聯兩張表
SQL語句如下:
updatea
seta.pic_left=b.pic_left
from
PIC..T_Vehicle2a
innerjoinyzdb..T_Vehiclebona.id_vechile=b.id_vechile
❿ sql,兩個表關聯,根據B表更新A表
update A set id=B.id from A,B where A.name=B.name