MySql:如何在声明语句之前调用存储过程
我需要在声明游标之前调用sp。sp先填充一个表,然后在此表中填充光标循环行。但workbench不允许在声明语句之前调用sp或任何其他内容MySql:如何在声明语句之前调用存储过程,mysql,sql,stored-procedures,mysql-workbench,Mysql,Sql,Stored Procedures,Mysql Workbench,我需要在声明游标之前调用sp。sp先填充一个表,然后在此表中填充光标循环行。但workbench不允许在声明语句之前调用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
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 存储过程中必须首先使用DECLARE语句
考虑-1)在调用usp_tesst之前调用usp_createtemppackages 2)将usp_createtemppackages功能集成到usp_tesst中3)移除游标并以其他方式迭代表(由于游标有点慢,这也可能会提高性能)。您可以按如下方式完成所需:
。。。
声明maxdate-datetime;
声明temppackcount int默认值(0);
/*调用usp_createtemppackages*/
--它说这里有一个语法错误
为声明crs游标
从temppackages中选择*。。。。
调用usp_createtemppackages;
...
我知道这很旧,但我也有同样的问题。似乎我们不能在宣布之前。我们怎么做?