在声明游标之前我需要调用sp。 sp填充表,然后在此表行中填充游标循环。但是工作台在declare
语句之前不允许调用sp或其他任何内容。
create definer=`root`@`%` procedure `usp_tesst`()
begin
declare ordid int;
declare packid int;
declare cstmid int;
declare deltimespanid int;
declare dstrcid int;
declare pcstatus tinyint(1);
declare deliverytime datetime;
declare maxdate datetime;
declare temppackcount int default(0);
call usp_createtemppackages;
-- it says there is a syntax error in here
declare crs cursor for
select * from temppackages....
我该怎么称呼这个sp?
答案 0 :(得分:0)
DECLARE语句必须是存储过程中的第一个。
考虑 - 1)在调用usp_tesst之前调用usp_createtemppackages 2)将usp_createtemppackages功能集成到usp_tesst中3)删除游标并以其他方式迭代表(由于游标有点慢,这可能会提高性能)。
答案 1 :(得分:0)
您可以按照以下方式完成所需:
...
declare maxdate datetime;
declare temppackcount int default(0);
/*call usp_createtemppackages;*/
-- it says there is a syntax error in here
declare crs cursor for
select * from temppackages....
call usp_createtemppackages;
...