USE pubs IF EXISTS (Select name FROM sysobjects Where name = 'MYTRI' AND type = 'TR') Drop TRIGGER MYTRI GO Create TRIGGER MYTRI ON YOURTABLENAME FOR Update AS DECLARE @GZ INT SELECT @GZ=GZ FROM INSERTED IF @GZ<0 BEGIN RAISERROR ("你的工资数小于0,系统自己更改为0",50009, 16, 10) UPDATE YOURTABLENAME SET GZ=@GZ END GO记得以后给分多点哦,我没分了,需要多点分,呵呵!
忘了一关键地方,不好意思啊 UPDATE YOURTABLENAME SET GZ=@GZ WHERE ID=@ID
重写一下USE YOURDATABASE IF EXISTS (Select name FROM sysobjects Where name = 'MYTRI' AND type = 'TR') Drop TRIGGER MYTRI GO Create TRIGGER MYTRI ON YOURTABLENAME FOR Update AS DECLARE @GZ INT,@ID INT--保存操作列的值和ID,ID指表中的唯一标识列 SELECT @GZ=GZ FROM INSERTED IF @GZ<0 BEGIN RAISERROR ("你的工资数小于0,系统自己更改为0",50009, 16, 10) UPDATE YOURTABLENAME SET GZ=@GZ WHERE ID=@ID END GO
create trigger tr_name on 工资表 for delete, update as update 工资 set 工资 = 0 where 工资 < 0
IF EXISTS (Select name FROM sysobjects
Where name = 'MYTRI' AND type = 'TR')
Drop TRIGGER MYTRI
GO
Create TRIGGER MYTRI
ON YOURTABLENAME
FOR Update
AS
DECLARE @GZ INT
SELECT @GZ=GZ FROM INSERTED
IF @GZ<0
BEGIN
RAISERROR ("你的工资数小于0,系统自己更改为0",50009, 16, 10)
UPDATE YOURTABLENAME SET GZ=@GZ
END
GO记得以后给分多点哦,我没分了,需要多点分,呵呵!
UPDATE YOURTABLENAME SET GZ=@GZ WHERE ID=@ID
IF EXISTS (Select name FROM sysobjects
Where name = 'MYTRI' AND type = 'TR')
Drop TRIGGER MYTRI
GO
Create TRIGGER MYTRI
ON YOURTABLENAME
FOR Update
AS
DECLARE @GZ INT,@ID INT--保存操作列的值和ID,ID指表中的唯一标识列
SELECT @GZ=GZ FROM INSERTED
IF @GZ<0
BEGIN
RAISERROR ("你的工资数小于0,系统自己更改为0",50009, 16, 10)
UPDATE YOURTABLENAME SET GZ=@GZ WHERE ID=@ID
END
GO
for delete, update
as
update 工资
set 工资 = 0
where 工资 < 0