2014-10-03 183 views
0

存儲過程如果MySQL

create procedure update_keyoffice(out p_key varchar(30),out p_hostname varchar(30)) 
 
begin 
 
\t declare p_keyoff varchar(30); 
 
\t select keyoff into p_keyoff from masterpc where keyoffice = p_key; 
 
\t if(p_keyoff = p_key) then 
 
\t \t insert into keyofficehistory (id,keyoff,hostname,datecreate) values 
 
\t \t (null,p_key,p_hostname,now()) 
 
\t end if 
 
end

錯誤

SQL查詢:

CREATE PROCEDURE update_keyoffice(下p_key的值VARCHAR(30),出 p_hostname VARCHAR(30))BEGIN DECLARE p_keyoff varchar(30);如果你的SQL語法錯誤,你可能會遇到一些錯誤。檢查對應於你的MySQL服務器版本正確的語法手冊使用 「」附近,在3號線

回答

0

在定義存儲過程和觸發器,你必須使用定製delimiter似乎它,在缺少你的代碼。

如下更改代碼:

delimiter // 

-- your stored procedure code here 

-- but don't forget to use new delimiter after end statement 
end; // 

-- now reset delimiter 
delimiter ; 

參考
CREATE PROCEDURE and CREATE FUNCTION Syntax