2011-08-23 55 views
-8

誰能告訴我:更新表不使用觸發

在SQL我想在兩個表中插入數據相同的數據, 你只有和數據在其他表(表2)插入table1中的數據將是自動更新..從表1。 適用條件:不使用觸發器..

+3

爲什麼不使用觸發器?是什麼讓你相信沒有可能? –

+3

拉胡爾,你能提供一點更多的上下文嗎?你想實現什麼業務目標?爲什麼觸發器不是一個選項? –

+0

不知道爲什麼你不能使用觸發器,但是如果你想在沒有觸發器的情況下將相同的數據插入到兩個表中,最好通過應用層來處理,例如。讓客戶端應用程序處理插入操作,並確保您在一個事務中執行所有操作,以防一個或兩個插入操作失敗。 – deutschZuid

回答

3

我不知道你是否認爲這是「自動」,但你可以在一條語句中使用output條款來做到這一點。

insert into Table2 (ID, Col1, Col2) 
select ID, Col1, Col2 
from (
     insert into Table1 (ID, Col1, Col2) 
     output inserted.ID, 
      inserted.Col1, 
      inserted.Col2 
     values (1, 'Col 1', 'Col 2') 
    ) as T 
+0

不錯的主意,你也可以用輸出的語法:insert into table1輸出插入。*到table2值(1,'col1','col2') – jon