【问题标题】:MariaDB Procedure with ROW TYPE OF variable based on cursor基于游标的具有 ROW TYPE OF 变量的 MariaDB 过程
【发布时间】:2026-01-21 13:20:03
【问题描述】:
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 类型的变量。我是不是做错了什么?

【问题讨论】:

    标签: stored-procedures mariadb mariadb-10.3


    【解决方案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$$
    

    【讨论】:

      最近更新 更多