为什么在创建CURSOR时报告缺少该字段?

时间:2019-02-02 13:18:52

标签: mysql

MySQL存储过程中的DECARE CURSOR给我一个“未知列”错误

相同的SQL可以运行独立的SQL语句。

下面是CURSOR声明的标题部分。

 DECLARE curl CURSOR FOR 
    SELECT
    count(*) as curl,
    ISM_MessageDelivered
FROM
    instantmessagesarchive
.
.
.

获取:未知列ISM_MessageDelivered在字段列表中。该字段肯定在instanmessagesarchive表中,如果我在上面的光标定义中删除了该字段,则光标不会抱怨。

感谢任何想法,因为相同的SQL(没有CURSOR)可以正常工作,所以这种语法有什么问题。

1 个答案:

答案 0 :(得分:0)

您是否声明了变量存储在数据中的位置?

例如:


DECLARE curl_count INTEGER DEFAULT 0;
DECLARE ISM_MessageDelivered BOOLEAN;

    SELECT
    count(*) as curl_count,
    ISM_MessageDelivered
FROM
    instantmessagesarchive
.
.
.

请注意,在使用查询时必须必须命名变量。