我有一个表。 当更新nbsm_DeleteStatus列时
nbsm_TourSpotSN(int)的值改变(只有nbsm_TourSpotSN的值大于更新这一行nbsm_TourSpotSN的值时-1 小于的不改变)

解决方案 »

  1.   

    只有nbsm_TourSpotSN的值大于更新这一行nbsm_TourSpotSN的值时这句话是什么意思 自己和自己比较?
      

  2.   

    恩。是我表达不清楚。我要的是更新某一行时改变nbsm_TourSpotSN的值
      

  3.   

    alter TRIGGER TourSpotSN
       ON  tb_Base_NearbySpotMap
       for Update
    AS 
    declare @ID int,
            @SN int
      if Update(nbsm_DeleteStatus)
       begin
        select @ID=nbsm_ID,@SN=nbsm_TourSpotSN from tb_Base_NearbySpotMap
        Update tb_Base_NearbySpotMap set nbsm_TourSpotSN=100
        where nbsm_ID=@ID   end
    帮我看一下 谢谢
      

  4.   

    create tigger f on tb
    for update
    as
    begin
    if updaate(nbsm_DeleteStatus)
    update tb set nbsm_TourSpotSN=-1
    end
      

  5.   

    DROP TABLE Tp
    CREATE TABLE tp
    (
    id INT IDENTITY,
    nbsm_DeleteStatus VARCHAR(10),
    nbsm_TourSpotSN INT
    )ALTER TRIGGER trig_Tp
    ON tp
    FOR UPDATE 
    AS 
    BEGIN
    IF Update(nbsm_DeleteStatus)
    BEGIN
    UPDATE tP
    SET nbsm_TourSpotSN = -1
    END
    END

     INSERT INTO tp SELECT 'AA',5
     
     SELECT * FROM tp t
     
     UPDATE TP SET nbsm_DeleteStatus='BB' , nbsm_TourSpotSN=6
     WHERE ID=1id          nbsm_DeleteStatus nbsm_TourSpotSN
    ----------- ----------------- ---------------
    1           BB                -1(1 row(s) affected)