2014-10-03 142 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