2016-03-17 62 views
1

我剛從mssql遷移到mysql,並且使用了插入觸發器。現在我想將我的mssql服務器觸發器腳本轉換爲mysql。任何幫助?將mssql觸發器轉換爲mysql觸發器

CREATE TRIGGER trgAutoInsert  
ON dbo.profile       
AFTER INSERT       
AS       
DECLARE @var1 int ,@var2 int ,@var3 char (100) ,@var4 char (100) , @var5 char (3)  

select @var1 = profile_id, @var2 = profile_id, @var3 = fname , @var4 = fname ,@var5 = fpage  

From profile      

BEGIN       

IF @var5 = 'yes'  


INSERT INTO friends (req_id,resp_id,req_name,resp_name,fpage)       
VALUES (@var1,@var2,@var3,@var4,'yes') 
+2

您的觸發器在SQL Server中沒有意義,除非'profile'只有一行。這對桌子來說是非常不尋常的。 –

+0

它在配置文件表上有一個插入後立即觸發 – neiza

回答

0
CREATE TRIGGER trgAutoInsert AFTER INSERT ON t1 
FOR EACH ROW 
BEGIN 

    DECLARE var1 INT; 
    DECLARE var2 INT; 
    DECLARE var3 CHAR(100); 
    DECLARE var4 CHAR(100); 
    DECLARE var5 CHAR(3); 

    SELECT  profile_id, 
       profile_id, 
       fname, 
       fname, 
       fpage 
     FROM profile 
     INTO var1, 
       var2, 
       var3, 
       var4, 
       var5; 

    IF var5 = 'yes' 
    THEN 

     INSERT INTO fiends 
       (req_id, resp_id, req_name, resp_name, fpage) 
      VALUES 
       (var1, var2, var3, var4, 'yes'); 

    END IF; 

END 

也許這?