CREATE OR REPLACE TRIGGER "TG_T_USERTABLE_DEL" BEFORE 
    DELETE 
    ON "T_USERTABLE" 
    FOR EACH ROW 
BEGIN
   DELETE FROM T_ORG_USER WHERE userid=:old.userid;
   DELETE FROM T_ROLE_USER WHERE userid=:old.userid;
   DELETE FROM T_USER_PURVIEW WHERE userid=:old.userid;
   DELETE FROM T_USER_fun_object WHERE userid=:old.userid;
END;
这个Oralce触发器怎么改成Sqlserver的触发器

解决方案 »

  1.   

    IF EXISTS (SELECT name FROM sysobjects
          WHERE name = 'TG_T_USERTABLE_DEL' AND type = 'TR')
       DROP TRIGGER TG_T_USERTABLE_DEL
    GOCREATE TRIGGER TG_T_USERTABLE_DEL
    ON dbo.T_USERTABLE
    for delete
    AS
    BEGIN
       DELETE FROM T_ORG_USER WHERE userid=deleted.userid
       DELETE FROM T_ROLE_USER WHERE userid=deleted.userid
       DELETE FROM T_USER_PURVIEW WHERE userid=deleted.userid
       DELETE FROM T_USER_fun_object WHERE userid=deleted.userid

    END
    GO
      

  2.   

    CREATE OR REPLACE TRIGGER TG_T_USERTABLE_DEL 
        ON T_USERTABLE 
    FOR DELETE
    as
       DECLARE @id  varchar(255)
       select @id =userid from deleted;
      
       DELETE FROM T_ORG_USER WHERE userid=@id ;
       DELETE FROM T_ROLE_USER WHERE userid=@id ;
       DELETE FROM T_USER_PURVIEW WHERE userid=@id ;
       DELETE FROM T_USER_fun_object WHERE userid=@id ;