lwmc.net
當前位置:首頁 >> sql sErvEr 觸發器如何實現當前表插入記錄的同時將... >>

sql sErvEr 觸發器如何實現當前表插入記錄的同時將...

最好是做一個視圖,把相關的字段包含在視圖中,然后對視圖執行插入操作,再在視圖上寫insteaded of 觸發器,這樣既避免了觸發器對表的依賴,有提高了基表的安全性,而且如果今后在增加其他表時,只需要把相關操作語句加入即可!提高可維護性!

create trigger trg_name on dbo.A for insert as insert into B(col1,col2,...) values(val1_1,val1_2,...)(val2_1,val2_2,...)... insert into C(col1,col2,...) values(val1_1,val1_2,...)(val2_1,val2_2,...)... BC兩張表要做關聯的話,就修...

你的表(假設表A)觸發器沒有問題。走一個小彎路吧。新建一個中間表(表B),在這個表上創建觸發器,當向B表插入數據時,向A表對應的列插入同一數據。試試這樣,應該就可以更新時間

create trigger tr_Sale_MerchInfo on Sale after insert, updateasbegin declare @num int , @MerchID int select @num = SaleNum, @MerchID = MerchID from inserted update MerchInfo set MerchNum = MerchNum - @num where MerchID = @Merch...

觸發器也沒有這樣的功能,T-SQL不支持文件操作

create trigger trig_insert on studentfor insert as begin truncate table student;end該例為表名是student的insert觸發器。該觸發器會在表插入數據的時候清空表

create trigger insert_for_b on a after insert as begin insert into b(插入a表字段) select 插入a表字段 from inserted --插入a表字段表示a表的所有字段,如果這里需要b表其他字段,要加固定的值 end go

--創建測試表create table t_a(id int,name varchar(10));create table t_b(id int,name varchar(10));--測試數據insert into t_a(id,name) values (1,'a');--創建 for delete 觸發器create trigger trg_t_a_1 on t_afor deleteasbegininsert in...

1,字段名可以不同 2,字段的數據類型需要相同,如不相同并且需要顯示轉換的,可在觸發器里轉換 如: 一個表的[數值]字段是int類型, 對應另個表的[數值2]字段是smallint類型 轉換如下: cast(數值 as smallint) 3,必須滿足另個表的字段約束,如不滿足需...

alter trigger trig_check on pra for insert as begin declare @id int select @id=id from inserted if ((select count(*) from pra where [email protected])>1) begin print('數據已存在') rollback end else begin print('插入成功') end end

網站首頁 | 網站地圖
All rights reserved Powered by www.fpyfpq.tw
copyright ©right 2010-2021。
內容來自網絡,如有侵犯請聯系客服。[email protected]
加拿大快乐8开奖网站