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