当前位置:Gxlcms > 数据库问题 > T-SQL触发器,限制一次只能删除一条数据

T-SQL触发器,限制一次只能删除一条数据

时间:2021-07-01 10:21:17 帮助过:4人阅读

***** Object: Trigger [dbo].[trg_del] Script Date: 01/01/2016 12:58:28 ******/ SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO CREATE TRIGGER [dbo].[trg_del] ON [dbo].[Common_Header] INSTEAD OF DELETE AS BEGIN DECLARE @cou INT DECLARE @headerid UNIQUEIDENTIFIER SELECT @cou = COUNT(*) FROM deleted; SELECT @headerid = id FROM deleted IF ( @cou > 1 ) RAISERROR(数据不允许删除!, 16, 1) ELSE DELETE FROM [Common_Header] WHERE id = @headerid END GO

 

CREATE TABLE [dbo].[Common_Header]
(
[ID] [uniqueidentifier] NOT NULL,
[Subject] [nvarchar] (50) COLLATE Chinese_PRC_CI_AS NULL,
[ApplicantAD] [nvarchar] (50) COLLATE Chinese_PRC_CI_AS NULL,
[ApplicantName] [nvarchar] (50) COLLATE Chinese_PRC_CI_AS NULL,
[CountryCode] [nvarchar] (50) COLLATE Chinese_PRC_CI_AS NULL,
[CountryName] [nvarchar] (50) COLLATE Chinese_PRC_CI_AS NULL,
[CompanyCode] [nvarchar] (50) COLLATE Chinese_PRC_CI_AS NULL,
[CompanyName] [nvarchar] (50) COLLATE Chinese_PRC_CI_AS NULL,
[DivisionCode] [nvarchar] (50) COLLATE Chinese_PRC_CI_AS NULL,
[DivisionName] [nvarchar] (50) COLLATE Chinese_PRC_CI_AS NULL,
[LBUCode] [nvarchar] (50) COLLATE Chinese_PRC_CI_AS NULL,
[LBUName] [nvarchar] (50) COLLATE Chinese_PRC_CI_AS NULL,
[CostCenter] [nvarchar] (50) COLLATE Chinese_PRC_CI_AS NULL,
[Email] [nvarchar] (100) COLLATE Chinese_PRC_CI_AS NULL,
[CreatedDate] [datetime] NULL,
[QueueID] [uniqueidentifier] NULL,
[Status] [nvarchar] (50) COLLATE Chinese_PRC_CI_AS NULL
) ON [PRIMARY]
GO
ALTER TABLE [dbo].[Common_Header] ADD CONSTRAINT [PK_Common_Header] PRIMARY KEY CLUSTERED  ([ID]) ON [PRIMARY]
GO
CREATE NONCLUSTERED INDEX [NonClusteredIndex-20150603-113054] ON [dbo].[Common_Header] ([QueueID]) ON [PRIMARY]
GO

 

T-SQL触发器,限制一次只能删除一条数据

标签:

人气教程排行