MySQL在Open Cursor

时间:2015-06-01 20:45:04

标签: mysql

我遇到了存储过程的问题。 为什么代码会崩溃在" OPEN ltLCur"声明(没有"选择"声明)?

没有第一个"选择concat"调试语句,代码将在下一行失败:OPEN ltLCur。与NetBeans的调试套接字连接终止。 使用"选择"语句代码继续并从" select concat"返回结果集。言。

我尝试添加:

DECLARE CONTINUE HANDLER FOR NOT FOUND SET done = 1;

无济于事。

如果我在phpMyAdmin中执行:

SELECT a, b FROM zcs WHERE zp = 290 LIMIT 1;

这确实会返回数据。所以,我知道它不会返回一个空集。

想法?

见下面的代码。

MySQL服务器版本:5.6.19

CREATE PROCEDURE abc(IN zc INT, IN rm INT)
BEGIN

    DECLARE ltVal  VARCHAR(255);
    DECLARE lgVal VARCHAR(255);

    DECLARE ltLCur CURSOR FOR
    SELECT a, b FROM zcs WHERE zp = zc LIMIT 1;

    OPEN ltLCur;

    FETCH ltLCur INTO aVal, bVal;

    SELECT * from evtCl
    WHERE v_zC in (SELECT z FROM zcs
         WHERE l1
         BETWEEN aVal  bVal);

END

0 个答案:

没有答案