create trigger trigger_insert_test1
on test2
after insert
asbegin
– set nocount on added to prevent extra result sets from
– interfering with select statements.
set nocount on;
insert into test1 select 『y』,『o』 from test2 where a=『c』 ##如果不加限制條件的話,會複製相同的行數到test1
– insert statements for trigger here
endgo
select * from test1
select * from test2
insert into test2 select 『c』,'5
在xs表上建立no_insert觸發器,禁止新增記錄
create trigger no_insert
on xs
after insert
asbegin
raiserror(『xs表不允許插入記錄』,1,1);
rollback transaction
end在xs表上建立乙個delete觸發器xs_del,要求返回被刪除的記錄
create trigger xs_del
on xs
after delete
asbegin
select 學號 as 被刪除學生記錄,姓名 from deleted
enddelete from xs where 學號=123
在xs表上建立乙個update觸發器xs_update,要求返回被刪除的記錄
create trigger xs_update
on xs
after update
asbegin
select 姓名 as 更新後的姓名,學號 from inserted
select 姓名 as 更新前的姓名,學號 from deleted
end在xs表上建立乙個instead觸發器xs_instead,要求在插入記錄時,如果總學分大於30,就拒絕插入,提示『總學分不符合要求』
create trigger xs_instead
on xs
instead of insert
asbegin declare @stu_credits int;
select @stu_credits=(select 總學分 from inserted)
if @stu_credits>30
select 『總學分不符合要求』 as 失敗原因
end在xs表上建立safty觸發器,拒絕使用者對資料庫中的表進行刪除和更新操作
create trigger safty
on database
for drop_table,after_table
asbegin
print 『當前資料庫禁止更改刪除操作』
rollback transaction
end
建立觸發器
視覺化資料庫工具 對於 microsoft sql server 資料庫,可以在 transact sql 中編寫觸發器,而對於 oracle 資料庫,則可以在 pl sql 中進行編寫。通過指定下列內容建立觸發器 建立觸發器 在 伺服器資源管理器 中,展開 表 資料夾。右擊要在其上建立觸發器的表名...
建立觸發器
create or replace trigger tg student after insert or update or delete on student foreach row declare 定義變數 begin 記錄日誌的程式 操作型別 case when inserting then ...
my sql 觸發器 mysql建立觸發器
首先,我們來了解一下什麼是觸發器,觸發器,就是在對一張表資料進行增 insert 刪 delete 改 update 的時候,為了保持資料的一致性,對別的表也要進行相應的資料修改。我們都知道mysql最後事務提交後,資料是會儲存到磁碟上的,那麼每次在insert,delete,update時候舊資料...