【问题标题】:Loop execute statement in Stored Procedure存储过程中的循环执行语句
【发布时间】:2012-11-20 00:47:55
【问题描述】:

我有以下场景:

CREATE DEFINER=`test`@`%` PROCEDURE `prTest`()
BEGIN
     SET @prepared_sql = 'select field1, field2 from table_data1');

     PREPARE stmt FROM @prepared_sql;
     EXECUTE stmt;
     DEALLOCATE PREPARE stmt;
END

我必须循环打开“stmt”。如何读取这个循环和每一行,获取“field1”和“field2”的值并将值插入另一个表中?

【问题讨论】:

    标签: mysql stored-procedures insert execute


    【解决方案1】:

    已解决:

    CREATE DEFINER=`test`@`%` PROCEDURE `prTest`()
    BEGIN
         SET @prepared_sql = 'insert into table_data2
                              select field1, field2 from table_data1');
    
         PREPARE stmt FROM @prepared_sql;
         EXECUTE stmt;
         DEALLOCATE PREPARE stmt;
    END
    

    【讨论】:

    • 一段文本伴随这样一段代码被剪断通常是有序的。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-12-01
    • 1970-01-01
    • 2019-06-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-05-31
    相关资源
    最近更新 更多