代码之家  ›  专栏  ›  技术社区  ›  Software Engineer

如何将sql触发器转换为MYSQL触发器

  •  -1
  • Software Engineer  · 技术社区  · 7 年前

    我有一个 SQL trigger 我想把它转换成 MYSQL trigger
    下面是我的SQL触发器的代码:

    Create TRIGGER Trigger_INSERT_Student   
    on [Student]    
       AFTER INSERT   
    AS     
    BEGIN    
            declare @S_Id int;
            declare @First_Name var char(255);
            declare @Last_Name var char (255);
            declare @Program var char (100) ;
            declare @GPA float ;
            declare @Birthday_date ;
            declare @Blood_Group var char(255) ;
            declare @Contact_Number var char (10);
            declare @Address var char(255) ;
            declare @City var char (255)    ;
            declare @Trigger_Action var char (255) ;
    
    
            select @S_Id=S_Id from inserted ;
            select @First_Name=First_Name from inserted ;
            select @Last Name=Last_Name from inserted ;
            select @Program=Program from inserted ;
            select @GPA=GPA  from inserted ;
            select @Birthday=Birthday from inserted ;
            select @Blood_Group=Blood_Group from inserted ;
            select @Contact Number=Contact_Number from inserted ;
            select @Address= Address from inserted ;
            select @City= City from inserted ;
            set @Trigger Action= 'Record Inserted';
    
            INSERT INTO Student History
            (S_Id,First_Name,Last_Name,Program,GPA,Birthday,Blood_Group,Contact_Number,Address,City,Trigger-Action)
            VALUES (@S_Id,@First-Name,@Last-Name,@Program,@GPA,@Birthday,@Blood_Group,@Contact_`enter code here`Number,@Address,@City,@Trigger Action)      
    END
    

    谁能帮我在MYSQL触发器中转换这个触发器吗。欢迎提出任何建议

    1 回复  |  直到 7 年前
        1
  •  0
  •   Vivektwr29    7 年前
        you can try like this in MySQL:
    
    
    DELIMITER $$
    DROP TRIGGER IF EXISTS trigger_insert_student $$
    
        CREATE TRIGGER trigger_insert_student AFTER
        INSERT ON [Student]
        FOR EACH ROW BEGIN 
        INSERT
        IGNORE INTO student history (s_id, first_name, last_name, program, gpa, birthday, blood_group, contact_number, address, city, TRIGGER-action)
        VALUES (NEW.s_id,
                NEW.first_name,
                NEW.last_name,
                NEW.program,
                NEW.gpa,
                NEW.birthday,
                NEW.blood_group,
                NEW.contact_number,NEW.address,NEW.city,'Record Inserted') END $$ 
            DELIMITER ;
    DELIMITER $$