sql兩表間更新,sql update 兩個表更新問題

2024-12-30 06:15:35 字數 4273 閱讀 7256

1樓:網友

update 表2 set mj= from 表2 t1 inner join (select lx,sum(mj) summj from 表1 group by lx) t2

onsqlserver寫法,其他資料庫另外說明。

sql update 兩個表更新問題

2樓:網友

你說的太籠統了。

假設每個居民的機構**都能從機構表中找到機構**,且對應的上級機構不會再有上級機構。

用以下sql就可以更新。

update inhabitant t1

set =select

from institution t2

where =

執行後有問題再追問。

3樓:網友

意思表達不清。

表達清楚可以嗎?

sql server 如何同時更新兩張有關係的表

4樓:糖糖寳寳

可以使用事務,但是隻有當兩張表都被更新了才會執行成功,否則事務回滾。

例如: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 0endgo

5樓:逐月追心

建立主外來鍵關係的時候.選擇級練更新 和級練刪除.

以後你改動主表的時候 外來鍵就會跟隨著更新或刪除。

6樓:獨駕舟千里去

之所以建立外來鍵就是為了說明plan的資料以user資料為依據,你要修改user而不動plan當然不行了;

sql server的語法我不太清楚,不過可以給你兩種方法:

1、去掉外來鍵約束,update user之後緊接著update plan,不過這種方法明顯不是你想要的;

2、分別建立user和plan的中間表,把修改後的資料先放到這兩張資料表中,然後刪除user和plan中的對應記錄,最後把中間表的資料移過來並清除中間表。

7樓:網友

你user表上建立乙個更新觸發器s_update.

create trigger s_updateon user

for update

asdeclare @snum=u_loginnamefrom update

update from plan

where u_loginname=@snum我寫了這些**,你看行不行。

8樓:網友

外來鍵約束只是對錶中取值的一種約束,要麼為空,要麼為主表中主鍵的取值。而你主表中更新子表是不會同步更新的!

所以你要建立乙個觸發器,讓兩張表同步更新!如何來做這個工作,正在學習中。

如果你只要更新,在外來鍵約束裡面選擇級聯更新,也就是insert和update規範中的更新規則。不過在2005裡面好像不叫級聯更新了,那是sql server2000中的說話,好像叫層疊,具體你看一下!

sql中 一條update語句如何更新兩個表的中資料?

9樓:半地沙子

可以使用insteadof觸發器。

這種觸發器就是用來在更新檢視的時候同時更新多個表資料的。

10樓:網友

mysql可以使用:

update ry,ddset = '哈佛', '美國', '哈佛', '美國'

where 'aaa'

and =

update 兩個表關聯 更新

11樓:sql的藝術

看結果應該是使用union all合併查詢結果,而不是表關聯示例select * from 表a

union all

select * from 表b

表a和表b的列格式必須一致,且數量一致。

12樓:網友

update table1 a set = (select from table2 b where

另外,如果在的情況下,如果有多個值的話也會報錯這個時候,你可以考慮用的最大值或最小值。

update table1 a set = (select max( from table2 b where

13樓:樂殤存

update table1 a, table2 b set a.[更新的列]=b.[更新的列] where a.[關聯欄位]=b.[關聯欄位]

sql兩個表之間內容更新問題

14樓:匿名使用者

當用乙個表中的資料來更新另乙個表中的資料,t-sql提供多種寫法(下面列出了二種),但建議用第一種寫法,雖然傳統,但結構清晰。

並且要注意,當用乙個表中的資料來更新另乙個表中的資料時,二個表一定要有關聯!

15樓:網友

你那樣 應該不行,我一般是都 提取出來後,再覆蓋哦,這樣百分百行的,也好理解。

要點rs("a1")=rs2("a2")

就是提取出來 再 進行 修改,直觀點。

16樓:網友

我記得中間應該有個from還是begin來的,忘記了也沒帶書回來。

update sql 兩個關聯的表

17樓:sql的藝術

看結果應該是使用union all合併查詢結果,而不是表關聯示例select * from 表a

union all

select * from 表b

表a和表b的列格式必須一致,且數量一致。

sql update語句 如何從表2更新表

18樓:網友

update drivestorage a setdrivestorage.裝置名稱=(select 裝置名稱 from

facilitynum b) where a.裝置號 = b.裝置號沒試不知道行不行。

19樓:網友

如果是sqlserver的話:

update a.裝置名稱=d.裝置名稱 from drivestorage d left join facilitynum f on

d.裝置號=f.裝置號。

20樓:網友

如果是sqlserver:

update drivestorage

set drivestorage.裝置名稱=facilitynum.裝置名稱。

from facilitynum

where drivestorage.裝置號=facilitynum.裝置號。

21樓:厙曼冬

update drivestorage a set 裝置名稱=(select 裝置號 from facilitynumwhere 裝置號=a.裝置號)

where exists(select 1 from facilitynum where 裝置號=a.裝置號)

22樓:匿名使用者

set drivestorage.裝置名稱=facilitynum.裝置名稱。

from drivestorage,facilitynumwhere drivestorage.裝置號=facilitynum.裝置號。

sql 多表查詢更新

23樓:老油條精選

那要看你用的是什麼資料了。

sqlserver : update a a set = - from b b where =

oracle : update a a set = (select from b b where = b,key) where exists(select 1 from b b =

試試看 應該是可以的。

24樓:修羅情傷

用儲存過程。。。不過估計你嫌麻煩。

sql兩個表多列聯合查詢,sql語句 同時查詢兩個表

select a.b.備註 from select 姓名,一班,一班 as 班級 from 課程 表 union all select 姓名,二班,二班 as 班級 from 課程 表 union all select 姓名,三班,三班 as 班級 from 課程 表 a left join 流水錶...

SQL問題,怎麼將一張表的某個欄位更新為另一張表的欄位

符號別亂用.不寫 了 1.定義變數 2.做個更新語句 包含個子查詢 update b set b.b05 a02 from b join a on b.c01 a.c01 sql 如何將一個表中某個欄位的值全部更新到另外一個表相應的欄位 sql語句如下 update a set a.ty2 b.ty...

SQL怎麼查詢兩個表中不同的資料

我們需要準備的材料分別是 電腦 sql查詢器。1 首先,開啟sql查詢器,連線上相應的資料庫表,以查詢c1表和c2表的name欄位不同為例。2 點選 查詢 按鈕,輸入 select c1.name from c1 left join c2 on c1.name c2.name where c2.na...