db 使用遞迴觸發器實現每次刪除一條記錄

2021-09-25 13:18:56 字數 632 閱讀 2604

/*判斷表中是否有名為「delete_employee」的觸發器*/

if exists (select name 

from   sysobjects 

where  name = 'delete_employee' 

and type = 'tr')

/*如果已經存在則刪除*/

drop trigger delete_employee

gocreate trigger delete_employee

on 員工表

after delete as

declare @rowcount int

select @rowcount = @@rowcount

if @rowcount>1

begin

rollback transaction

print('當前刪除的記錄條數大於一條,一次只允許刪除一條')

endif @rowcount=1

begin

declare @所屬部門 varchar(50) 

select @所屬部門 = 所屬部門 from deleted

delete from 員工表 where 所屬部門 = @所屬部門

endgo

sql 觸發器 直接遞迴觸發器

create trigger dbo loving20000 on dbo s for delete asdeclare age int select age sage from deleted delete s where sage age delete from s where sname xq...

orcale 觸發器實現級聯刪除

請在資料庫中新增兩個觸發器 1 刪除表staff userinfo中的使用者時,同時刪除staff userrole中使用者對應的角色 2 刪除表staff role中的角色時,同時刪除staff rolemodule中角色對應的模組。錯誤 1.create or replace trigger d...

觸發器 關聯刪除

5.在tb student表上建立1個觸發器,當使用者刪除學生記錄時將與之關聯的tb score表中的記錄刪除。本上。1 建立觸發器。2 插入測試記錄到tb student和tb score表中。用於測試觸發器是否正常工作 3 刪除測試記錄驗證觸發器是否正常工作。select from tb sco...