簡體   English   中英

MySQL錯誤1064存儲過程錯誤

[英]Mysql error 1064 stored procedure error

create function sf_get_empsallist(dname varchar(100))
returns varchar(300)
begin
declare emplist varchar(300) default '';
declare flag int default 0 ;
declare name varchar(100);
declare sal int;
declare c1 cursor  for
select ename,salary from emp join dept
on emp.deptid=dept.deptid
where deptname=dname;
declare continue handler for not found set flag=1;
open c1;
myloop: loop
fetch c1 into name,sal;
if flag=1 then
leave myloop;
end if;
set emplist=concat(emplist,',',name,'-',sal);
end loop;
return(substr(emplist,2));
close c1;
end
$$

我得到的錯誤是

 Error Code: 1064. You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 4 

我盡最大努力解決了問題,但找不到。

delimiter $$
SET GLOBAL log_bin_trust_function_creators = 1;
create function sf_get_empsallist(dname varchar(100))
returns varchar(300)
begin
declare emplist varchar(300) default '';
declare flag int default 0 ;
declare name varchar(100);
declare sal int;
declare c1 cursor  for
select ename,salary from emp join dept
on emp.deptid=dept.deptid
where deptname=dname;
declare continue handler for not found set flag=1;
open c1;
myloop: loop
fetch c1 into name,sal;
if flag=1 then
leave myloop;
end if;
set emplist=concat(emplist,',',name,'-',sal);
end loop;
return(substr(emplist,2));
close c1;
end
$$

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM