SQLServer 2000 触发器实验成功!

实验触发器时用到的两个表的SQL脚本如下:

if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[Person]') and OBJECTPROPERTY(id, N'IsUserTable') = 1)
drop table [dbo].[Person]
GO

CREATE TABLE [dbo].[Person] (
 [PersonID] [int] IDENTITY (1, 1) NOT NULL ,
 [Name] [varchar] (50) COLLATE Chinese_PRC_CI_AS NULL ,
 [Sex] [varchar] (50) COLLATE Chinese_PRC_CI_AS NULL ,
 [Nation] [varchar] (50) COLLATE Chinese_PRC_CI_AS NULL ,
 [Birthday] [smalldatetime] NULL ,
 [IDCard] [varchar] (50) COLLATE Chinese_PRC_CI_AS NULL ,
 [Unit] [varchar] (50) COLLATE Chinese_PRC_CI_AS NULL ,
 [Department] [varchar] (50) COLLATE Chinese_PRC_CI_AS NULL ,
 [Job] [varchar] (50) COLLATE Chinese_PRC_CI_AS NULL ,
 [OfficialRank] [varchar] (50) COLLATE Chinese_PRC_CI_AS NULL ,
 [Politics] [varchar] (50) COLLATE Chinese_PRC_CI_AS NULL ,
 [Marriage] [varchar] (50) COLLATE Chinese_PRC_CI_AS NULL ,
 [EduLevel] [varchar] (50) COLLATE Chinese_PRC_CI_AS NULL ,
 [Speciality] [varchar] (50) COLLATE Chinese_PRC_CI_AS NULL ,
 [School] [varchar] (50) COLLATE Chinese_PRC_CI_AS NULL ,
 [Native] [varchar] (50) COLLATE Chinese_PRC_CI_AS NULL ,
 [Addr] [varchar] (50) COLLATE Chinese_PRC_CI_AS NULL ,
 [Tel] [varchar] (50) COLLATE Chinese_PRC_CI_AS NULL ,
 [Mobile] [varchar] (50) COLLATE Chinese_PRC_CI_AS NULL ,
 [EMail] [varchar] (50) COLLATE Chinese_PRC_CI_AS NULL ,
 [Memo] [text] COLLATE Chinese_PRC_CI_AS NULL ,
 [Area] [text] COLLATE Chinese_PRC_CI_AS NULL ,
 [ImageData] [image] NULL ,
 [ImageSize] [int] NULL ,
 [Role] [varchar] (50) COLLATE Chinese_PRC_CI_AS NULL
) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]
GO

if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[PersonCheck]') and OBJECTPROPERTY(id, N'IsUserTable') = 1)
drop table [dbo].[PersonCheck]
GO

CREATE TABLE [dbo].[PersonCheck] (
 [ID] [int] IDENTITY (1, 1) NOT NULL ,
 [PersonID] [int] NULL ,
 [CheckName] [varchar] (50) COLLATE Chinese_PRC_CI_AS NULL ,
 [CheckClass] [varchar] (50) COLLATE Chinese_PRC_CI_AS NULL ,
 [CheckMode] [varchar] (50) COLLATE Chinese_PRC_CI_AS NULL ,
 [CheckDate] [datetime] NULL ,
 [CheckRemark] [text] COLLATE Chinese_PRC_CI_AS NULL ,
 [CheckResult] [text] COLLATE Chinese_PRC_CI_AS NULL ,
 [Memo] [text] COLLATE Chinese_PRC_CI_AS NULL
) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]
GO

在Person表上建的触发器如下:

CREATE TRIGGER [DeleteCheck] ON [dbo].[Person]
FOR INSERT, UPDATE, DELETE
AS
declare @PersonID int;
select @PersonID=PersonID  from deleted;
delete from PersonCheck  where PersonID=@PersonID;

你可能感兴趣的:(SQLServer 2000 触发器实验成功!)