多多色-多人伦交性欧美在线观看-多人伦精品一区二区三区视频-多色视频-免费黄色视屏网站-免费黄色在线

國內最全IT社區平臺 聯系我們 | 收藏本站
阿里云優惠2
您當前位置:首頁 > 數據庫 > Sqlserver > SQL觸發器刪除數據庫中的級聯記錄

SQL觸發器刪除數據庫中的級聯記錄

來源:程序員人生   發布時間:2013-12-13 05:06:46 閱讀次數:2843次
SQL觸發器:當改變(增、刪、改)數據表的記錄時,綁定在SQL語句(增、刪、改)中的觸發器能夠觸發某些事件或者函數,所以我們可以在觸發器中編寫一些處理語句。

比如,當我們刪除新聞類別的時候,由于外鍵的原因,我們無法刪除新聞類別下有新聞內容的記錄,但是通過觸發器,我們就可以實現。

delete from category where id=5 --sql刪除語句

create trigger trigcategorydelete --當執行sql刪除語句時,執行觸發器

on category

after delete

as

begin

delete news where caId=(select id from deleted) --刪除對應新聞類別的新聞內容

end

照一般的思維,這樣就可以同時刪除新聞類別和其下的新聞內容,但是這樣執行卻不成功。是因為關鍵字AFTER,AFTER表示在執行SQL刪除語句后,再執行觸發器里的語句。這樣一來,順序同樣是先刪除新聞再刪除新聞內容,肯定不成功。

改變關鍵字after為instead of

instead of,表示代替delete操作,而沒有真正delete from category where id=5,當category表的刪除時,同時觸發了trigcategorydelete觸發器,但是由于有instead of關鍵字,所以本身并不執行刪除操作,而是執行觸發器里的sql語句,從而可以替代之前的SQL語句。比如:

create trigger trigcategorydelete

on category

instead of delete

as

begin

declare @id int --定義一個變量id

select @id=id from deleted --從deleted臨時表中,賦值id給變量@id

delete news where caId=@id --先刪除該類別下的所有新聞

delete category where id=@id --然后刪除新聞類別

end

當我們執行 delete from category where id=5時,id=5的類別并沒有真正刪除,而是轉而執行觸發器里面的SQL語句

關于deleted表:

Deleted表用于存儲 DELETE 和 UPDATE 語句所影響的行的復本。在執行 DELETE 或 UPDATE 語句時,行從觸發器表中刪除,并傳輸到deleted表中。Deleted表和觸發器表通常沒有相同的行。(//最后一句不是怎么明白啊?) by google

刪除一條記錄時候,他會把刪除的這條記錄放在一張臨時表里,當你對category表進行刪除時,在SQL返回的結果消息里面會提示出你刪除的記錄。

生活不易,碼農辛苦
如果您覺得本網站對您的學習有所幫助,可以手機掃描二維碼進行捐贈
程序員人生
------分隔線----------------------------
分享到:
------分隔線----------------------------
關閉
程序員人生
主站蜘蛛池模板: 成人网免费视频 | 亚洲福利精品一区二区三区 | 富二代网站啪啪精品 | 国产v综合v亚洲欧美大另类 | 亚洲欧美激情精品一区二区 | 午夜又黄又爽 | 日本zzzwww大片免费 | 亚洲成a人v欧美综合天 | 久久福利院| 国产福利一区二区三区在线视频 | 羞羞视频在线 | 久久精品在线 | www久久精品 | 国产精品久久久亚洲 | 日本欧美在线观看 | 伊人色院成人蜜桃视频 | 国产精品免费一区二区区 | 亚洲黄色小说视频 | 欧美成人hd| 国产免费一级高清淫日本片 | 成人欧美一区二区三区黑人 | 草的好爽| 久爱免费精品视频在线播放 | 亚洲另类精品xxxx人妖 | 男女晚上日日麻批视频不挡 | 国产毛片儿 | 91精品免费久久久久久久久 | 国产精品二区页在线播放 | 免费看羞羞动漫视频网站 | 中文字幕一区二区三区乱码 | 五月天视频网站 | 欧美在线一级va免费观看 | 日本18网站 | 欧美成人性视频播放 | 特级毛片女人18毛片 | 曰本裸色私人影院噜噜噜影院 | www在线播放 | jizz日本护士视频 | 精品日韩欧美一区二区三区在线播放 | 久久福利一区二区 | 91精品一区二区三区在线观看 |