數(shù)據(jù)庫(kù)刪除觸發(fā)器語(yǔ)句 MYSQL怎么寫(xiě)觸發(fā)器實(shí)現(xiàn)刪除記錄時(shí)同時(shí)刪除?
MYSQL怎么寫(xiě)觸發(fā)器實(shí)現(xiàn)刪除記錄時(shí)同時(shí)刪除?不能通過(guò)觸發(fā)器實(shí)現(xiàn),但是可以通過(guò)設(shè)置外鍵的級(jí)聯(lián)刪除來(lái)實(shí)現(xiàn)。打開(kāi)官方MySQL免費(fèi)手冊(cè)并搜索參考資料ud定義:參考tblU名稱(chēng)(索引|列|名稱(chēng),…)[完全匹
MYSQL怎么寫(xiě)觸發(fā)器實(shí)現(xiàn)刪除記錄時(shí)同時(shí)刪除?
不能通過(guò)觸發(fā)器實(shí)現(xiàn),但是可以通過(guò)設(shè)置外鍵的級(jí)聯(lián)刪除來(lái)實(shí)現(xiàn)。打開(kāi)官方MySQL免費(fèi)手冊(cè)并搜索參考資料ud定義:參考tblU名稱(chēng)(索引|列|名稱(chēng),…)[完全匹配|部分匹配|簡(jiǎn)單匹配][刪除引用|選項(xiàng)][更新引用|選項(xiàng)]引用|選項(xiàng):限制|Cascade | set null | no action
示例:
1。Building table
創(chuàng)建表建筑(
Building oINTPRIMARYKEYAUTOuuuIncrement,
BuildingName varchar(255)not null,
address varchar(255)not null
]2。Room table
創(chuàng)建表文件室(
Room_uu2;noINTPRIMARYKEYAUTO_2;INCREMENT,
Room_2;nameVARCHAR(255)NOTNULL,
building_2;noINTNOTNULL,
FOREIGNKEY(building_2;no)
REFERENCESbuildings(building_2;no)
ondeletecascade//這里指定了級(jí)聯(lián)刪除
]3。刪除將導(dǎo)致建筑uNo=2個(gè)房間記錄被刪除
刪除rombuildings
其中
建筑uNo=2
使用刪除觸發(fā)器格式:
在tablename上創(chuàng)建觸發(fā)器triuUpdate
在tablename上
用于刪除
作為
開(kāi)始
--SQL代碼
結(jié)束
示例:
在tablename上創(chuàng)建觸發(fā)器triuUpdatetablename1—觸發(fā)器table name
for delete
as
begin
聲明@deluid varchar(40)
select@deluid=id from deleted—tablename1中刪除的數(shù)據(jù)保存在deleted中
delete tablename2其中id=@deluid—同步刪除tablename2中的數(shù)據(jù)
end