各位,想在某个表删除,修改记录以后判断一下列"工资"是否小于0如果小于0则给它置为0,
应该怎么做?
表名:工资表
字段名:工资小弟谢各位了!!!!!

解决方案 »

  1.   

    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记得以后给分多点哦,我没分了,需要多点分,呵呵!
      

  2.   

    忘了一关键地方,不好意思啊
    UPDATE YOURTABLENAME SET GZ=@GZ WHERE ID=@ID
      

  3.   

    重写一下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
      

  4.   

    create trigger tr_name on 工资表
    for delete, update
    as
    update 工资 
    set 工资 = 0
    where 工资 < 0