淺入淺出SQL Server 觸發器
什麼是觸發器
簡單的來說,在SQL Server裡面也就是對某一個表的一定的操作,觸發某種條件,從而執行的一段程式。觸發器是一個特殊的儲存過程。
觸發器的建立
常見的觸發器有三種,分別對應於Insert 、Update、Delete事件。
怎麼建立觸發器呢?在牛腩新聞釋出系統中,就需要建立觸發器,但是按照視訊的操作步驟,我的Sql Server不能直接建立觸發器。
當我右鍵觸發器的時候,我的新建觸發器的按鈕是灰色的!所以就只能用SQL語句來建立了!
1.點選需要建立觸發器的資料庫,新建查詢!
2.輸入以下程式碼、
(背景:在牛腩新聞釋出系統中,需要刪除新聞分類 category 表中的分類,但是這個表和新聞表還有評論表存在外來鍵,所以在刪除分類的時候會報錯!所以需要建立觸發器,在執行刪除新聞分類的時候,先刪除該新聞分類下的所有評論,還有該新聞下的所有新聞,然後最後刪除這個新聞類別!)
--Author(作者):曹*銘
--Create Date(時間):2018.11.10
--Description(名稱):
ALTER TRIGGER [dbo].[trigCategoryDelete] --觸發器名稱
on [dbo].[category] --選擇要建立觸發器的表
instead of DELETE --觸發條件 插入/刪除/更新(任選一個)
AS --伴隨
BEGIN --開始執行
declare @caId int --定義一個引數
select @caId=id from deleted --從已經刪除的臨時表中選出id等於這個引數的資料
--刪除評論
delete comment where newsId in(select newsId from news where caId=@caId)
--刪除新聞
delete news where caId =@caId
--刪除類別
delete category where id=@caId--此處填寫觸發器要執行的SQL語句(比如,查詢剛剛執行刪除的內容)
END --結束
相關文章
- 淺談SQL Server觸發器的使用SQLServer觸發器
- 淺談觸發器觸發器
- SQL Server 觸發器SQLServer觸發器
- SQL Server觸發器SQLServer觸發器
- sql-server觸發器SQLServer觸發器
- Sql Server系列:觸發器SQLServer觸發器
- 【SQL Server】-- 一觸即發之觸發器SQLServer觸發器
- SQL Server:觸發器詳解SQLServer觸發器
- 淺入淺出webpackWeb
- 淺入淺出VueVue
- SQL Server 觸發器詳情HOPPSQLServer觸發器
- SQL server觸發器簡單示例SQLServer觸發器
- 深入淺出的SQL server 查詢優化SQLServer優化
- 淺入淺出 MySQL 索引MySql索引
- 淺入淺出圖解domDIff圖解
- 『淺入淺出』MySQL 和 InnoDBMySql
- 關於SQL SERVER觸發器的理解SQLServer觸發器
- 《淺入淺出MySQL》表鎖 行鎖 併發插入MySql
- 瞭解SQL Server觸發器及觸發器中的事務AWSQLServer觸發器
- 淺談SQL Server幾點不足SQLServer
- SQL Server資料庫級別觸發器SQLServer資料庫觸發器
- SQL Server 觸發器的修改與刪除SQLServer觸發器
- 原始碼淺入淺出 Java ConcurrentHashMap原始碼JavaHashMap
- 淺析SQL Server效能分析引數SQLServer
- SQL Server時間格式淺析 (轉)SQLServer
- SQL Server 2005系列教學_ 觸發器SQLServer觸發器
- SQL觸發器SQL觸發器
- SQL Server約束和DML觸發器的比較SQLServer觸發器
- SQL Server中類似Oracle中before觸發器SQLServerOracle觸發器
- 淺談SQL Server中的快照問題SQLServer
- 淺入深出Vue:路由Vue路由
- 淺入深出Vue:元件Vue元件
- 建立SQL觸發器SQL觸發器
- SQL觸發器(二)SQL觸發器
- Spring淺入淺出——不吹牛逼不裝逼Spring
- 淺入淺出深度學習理論與實踐深度學習
- 深入淺出 Server-sent events 技術Server
- 深入淺出 Redis client/server互動流程RedisclientServer