2
我知道您可以使用連接從多個表中選擇多個列。是否有可能使用連接更新多個表中的多個列?使用內部連接更新多個表
我知道您可以使用連接從多個表中選擇多個列。是否有可能使用連接更新多個表中的多個列?使用內部連接更新多個表
沒有。
您一次只能做一個表UPDATE
或INSERT
。
如果你需要做的倍數,你可以將它們括在一個事務,以確保它們都通過或失敗在一起,雖然:
BEGIN TRY
BEGIN TRAN
UPDATE Table1
SET Col1=Value1
UPDATE Table2
SET Col2=Value2
COMMIT TRAN
END TRY
BEGIN CATCH
IF @@TRANCOUNT>0 ROLLBACK
<error message reporting here>
END CATCH
不可能的,除非你的基礎表上使用觸發器
您還需要某種形式的錯誤處理 - 否則,如果第一次更新中出現錯誤,則會報告,然後繼續並執行第二次更新並提交事務。 –
@Damien - 真的,我只是沒有添加它。我會立刻在那裏扔一些東西。 – JNK
(只需點擊編輯將前兩行代碼移動到代碼塊中) –