mysql - 带有简单游标的简单存储过程不会编译
问题描述
我已经研究了几个小时如何在存储过程中创建一个简单的 MySQL 游标(来自 Workbench),但无论我尝试什么,我总是会收到这个错误:
命令不同步;你现在不能运行这个命令
这是我的存储过程:
DELIMITER //
DROP PROCEDURE IF EXISTS ApplyNewFormFieldsToExistingPolicies;
CREATE PROCEDURE ApplyNewFormFieldsToExistingPolicies(argAgencyID int)
BEGIN
DECLARE done INT DEFAULT FALSE;
DECLARE t AS INT; -- TruckerID
DECLARE a AS INT; -- AgentID
DECLARE cursor1 CURSOR FOR SELECT AgentUserID AS AgentID, ID AS TruckerID from Users where IsTrucker = 1 AND AgencyID = argAgencyID
DECLARE CONTINUE HANDLER FOR NOT FOUND SET done = TRUE;
OPEN cursor1;
read_loop: LOOP
FETCH cursor1 INTO t, a;
-- do something with 't'
-- do something with 'a'
END LOOP;
CLOSE cursor1;
END //
DELIMITER ;
此 sql 有效并返回预期数据:
SELECT AgentUserID AS AgentID, ID AS TruckerID from Users where IsTrucker = 1 AND AgencyID = 1
任何想法我做错了什么?
解决方案
推荐阅读
- struct - LLVM 后端如何处理具有动态访问权限的结构的 getelementptr?
- cryptography - 无法将 pkcs11-tool 与自定义 hsm 角色一起使用
- automation - 我正在尝试使用 7-zip 和 AutoHotKey 提取文件夹,但脚本仅在新窗口中打开压缩文件夹
- drools - 如何使用 Drools Api 声明窗口
- python - 如何更改 django 选择字段的呈现属性?
- arrays - 使用数据表访问多维数组上的对象
- module - Yocto 上的 v4l2loopback
- python - AWS CDK 创建 aws_codestarnotifications.CfnNotificationRule 并设置目标
- pine-script - 仅当信号在 TSI 指标中穿过中线时才使用 plotchar
- angular - 使用烧瓶将静态文件提供给角度