sql server 觸發器應用 insert


--添加自定義錯誤碼提示,要求先有英文版才能有中文版
EXEC sp_addmessage @msgnum=50001,@severity=10,@msgtext='Violation of the table unique constraint',@lang='us_english'
EXEC sp_addmessage @msgnum=50001,@severity=10,@msgtext='違反了表唯一約束'


--創建觸發器
CreateTRIGGER Tig_bidPasslog ON dbo.BidPassLog INSTEAD OF INSERT
AS
IF EXISTS(SELECT * FROM dbo.BidPassLog JOIN inserted ON dbo.BidPassLog.Bidid=INSERTED.Bidid WHERE dbo.BidPassLog.status=0)
BEGIN
--回滾事務,阻止提交

ROLLBACK TRAN
--輸出自定義錯誤碼,需要先向數據庫中添加錯誤碼

RAISERROR(50001,16,1,'已經存在')
END
ELSE
begin
--插入數據

INSERT dbo.BidPassLog (serialNo,Bidid,[status],RequestTime) SELECT serialNo,Bidid,[status],RequestTime FROM INSERTED
--查詢自增主鍵
select SCOPE_IDENTITY();
END

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM