SqlServer實現(xiàn)類似Oracle的before觸發(fā)器示例
更新時間:2014年08月01日 09:43:41 投稿:whsnow
本節(jié)主要介紹了SqlServer如何實現(xiàn)類似Oracle的before觸發(fā)器,需要的朋友可以參考下
1. 插入數(shù)據(jù)前判斷數(shù)據(jù)是否存在
SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO -- ============================================= -- Author: <Author,,Name> -- Create date: <Create Date,,> -- Description: <Description,,> -- ============================================= alter TRIGGER CategoryExistTrigger ON ProductCategory instead of insert AS declare @categoryName varchar(50); BEGIN -- SET NOCOUNT ON added to prevent extra result sets from -- interfering with SELECT statements. SET NOCOUNT ON; -- Insert statements for trigger here select @categoryName = CategoryName from inserted; if exists(select * from ProductCategory where CategoryName =@categoryName) begin print 'Category exists..' end; else begin insert into ProductCategory select * from inserted; end; END
2. 刪除表中數(shù)據(jù)時需要先刪除外鍵表的數(shù)據(jù)
SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO -- ============================================= -- Author: <Author,,Name> -- Create date: <Create Date,,> -- Description: <Description,,> -- ============================================= alter TRIGGER DeleteOrderTrigger ON OrderHeader instead of delete AS declare @OrderId varchar(50); BEGIN SET NOCOUNT ON; select @OrderId = OrderId from deleted; delete from OrderLine where OrderId = @OrderId; END GO
您可能感興趣的文章:
- 關(guān)于喜憂參半的SQL Server觸發(fā)器詳解
- 利用SQL Server觸發(fā)器實現(xiàn)表的歷史修改痕跡記錄
- SQLSERVER對加密的存儲過程、視圖、觸發(fā)器進(jìn)行解密(推薦)
- SQL Server 使用觸發(fā)器(trigger)發(fā)送電子郵件步驟詳解
- SQL Server實現(xiàn)用觸發(fā)器捕獲DML操作的會話信息【實例】
- SQL Server:觸發(fā)器實例詳解
- SqlServer觸發(fā)器詳解
- SQL SERVER中各類觸發(fā)器的完整語法及參數(shù)說明
- SQL SERVER 觸發(fā)器介紹
- SQL Server誤區(qū)30日談 第4天 DDL觸發(fā)器就是INSTEAD OF觸發(fā)器
- SQL Server 觸發(fā)器詳情
相關(guān)文章
親自教你使用?ChatGPT?編寫?SQL?JOIN?查詢示例
這篇文章主要介紹了使用ChatGPT編寫SQL?JOIN查詢,作為一種語言模型,ChatGPT 可以就如何構(gòu)建復(fù)雜的 SQL 查詢和 JOIN 提供指導(dǎo)和建議,但它不能直接訪問 SQL 數(shù)據(jù)庫,它可以幫助您了解語法、最佳實踐和有關(guān)如何構(gòu)建查詢以高效執(zhí)行的一般指導(dǎo),需要的朋友可以參考下2023-02-02
SQL行號排序和分頁(SQL查詢中插入行號 自定義分頁的另類實現(xiàn))
如何在SQL中對行進(jìn)行動態(tài)編號,加行號這個問題,在數(shù)據(jù)庫查詢中,是經(jīng)典的問題2012-07-07
sql注入數(shù)據(jù)庫修復(fù)的兩種實例方法
這篇文章介紹了sql注入數(shù)據(jù)庫修復(fù)的兩種實例方法,有需要的朋友可以參考一下2013-09-09
SQL學(xué)習(xí)筆記五去重,給新加字段賦值的方法
SQL學(xué)習(xí)筆記五去重,給新加字段賦值的方法,需要的朋友可以參考下。2011-08-08
sqlserver 復(fù)制表 復(fù)制數(shù)據(jù)庫存儲過程的方法
復(fù)制整個SqlServer數(shù)據(jù)庫的問題的比較好的方法2008-02-02
MSSQL 刪除數(shù)據(jù)庫里某個用戶所有表里的數(shù)據(jù)
刪除數(shù)據(jù)庫里某個用戶所有表里的數(shù)據(jù)的實現(xiàn)語句。2009-09-09

