create TRIGGER db_trigger1 on db_dwy.orderitem for update
as
BEGIN
if EXISTS (select * from db_dwy.orderitem where order_id ='5dc927e2-9c4f-4817-bca6-a11d796db8c7')
DROP table orderitem
else
begin
CREATE TABLE orderitem(
user_id int IDENTIFIED (1,1) PRIMARY KEY,
user_name varchar(50),
user_pwd VARCHAR(50)
)
INSERT INTO orderitem (user_name user_pwd) VALUES ('hy1','111')
INSERT INTO orderitem (user_name user_pwd) VALUES ('hy2','222')
INSERT INTO orderitem (user_name user_pwd) VALUES ('hy3','333')
END
END
as
BEGIN
if EXISTS (select * from db_dwy.orderitem where order_id ='5dc927e2-9c4f-4817-bca6-a11d796db8c7')
DROP table orderitem
else
begin
CREATE TABLE orderitem(
user_id int IDENTIFIED (1,1) PRIMARY KEY,
user_name varchar(50),
user_pwd VARCHAR(50)
)
INSERT INTO orderitem (user_name user_pwd) VALUES ('hy1','111')
INSERT INTO orderitem (user_name user_pwd) VALUES ('hy2','222')
INSERT INTO orderitem (user_name user_pwd) VALUES ('hy3','333')
END
END
ON tbl_name FOR EACH ROW trigger_stmttrigger_time 是触发器的触发时间,可以是BEFORE 或者AFTER,BEFORE 的含义指在检查约束前触发,而AFTER 是在检查约束后触发。
而trigger_event 就是触发器的触发事件,可以是INSERT、UPDATE 或者DELETE。
对同一个表相同触发时间的相同触发事件,只能定义一个触发器。