在表中不允许执行某些insert操作

 


USE [AdventureWorks]

GO


CREATE TRIGGER [Sales].[]iStore].[Store]

AFTER INSERT AS

BEGIN
SET NOCOUNT ON;
BEGIN TRY 
--判断是否插入记录的CustomerID字段是否已经在[Sales].[Individua]表中存在相同的记录
IF EXISTS (SELECT * FROM inserted INNER JOIN [Sales].[individua]
ON inserted.[CustomerID] = [Sales].[individua].[CustomerID])
BEGIN
--若有相同记录,则回滚事物
IF @@TRANCOUNT > 0
BEGIN
ROLLBACK TRANSACTION;
END
END;
END TRY
BEGIN CATCH
EXECUTE [dbo].[uspPrintError];
--调用存储过程,在错误日志表中记录错误产生详情
IF @@TRANSCOUNT > 0
BEGIN
ROLLBACK TRANSACTION;
END 
EXECUTE [dbo].[uspPrintError];
END CATCH;
END ;
GO

 

相关文章:

  • 2022-12-23
  • 2022-01-19
  • 2021-08-30
  • 2021-06-24
  • 2021-09-07
  • 2022-12-23
  • 2022-12-23
  • 2021-11-04
猜你喜欢
  • 2021-11-30
  • 2022-12-23
  • 2022-12-23
  • 2021-11-21
  • 2022-12-23
  • 2022-03-14
  • 2022-12-23
相关资源
相似解决方案