1
delimiter $$

CREATE PROCEDURE  `proc_test`()
BEGIN   
    DECLARE rec ROW TYPE OF c_data;
    DECLARE c_data CURSOR FOR SELECT * FROM agents;
END$$

调用此过程时会出现以下错误

Error Code: 1146. Table 'db_nvocc_local.c_data' doesn't exist

根据此处的官方文档https://mariadb.com/kb/en/library/declare-variable/ 我们应该能够根据游标声明 ROW 类型的变量。难道我做错了什么?

4

1 回答 1

1

当定义如下时,我能够正确调用该过程。但不确定这是否是正确的方法

delimiter $$

CREATE OR REPLACE PROCEDURE  `proc_test`()
BEGIN 
    DECLARE c_data CURSOR FOR SELECT * FROM agents;
    BEGIN
        DECLARE rec ROW TYPE OF c_data;
    END;
END$$
于 2019-12-09T21:27:36.693 回答