gpt4 book ai didi

MySQL 临时表游标

转载 作者:行者123 更新时间:2023-11-29 11:56:50 25 4
gpt4 key购买 nike

我正在编写 MySQL 存储过程,但在使用游标迭代临时表行时遇到问题。我假设在填充表之前选择数据,但不确定。以下是我的程序的基本步骤:

- DECLARE articles_cursor CURSOR FOR SELECT DISTINCT title FROM FoundIn;
- CREATE TEMPORARY TABLE IF NOT EXISTS FoundIn ( ... );
- Populate the table ...
- Open the cursor and try to fetch data

每次我在光标中找不到“NOT FOUND”。如果问题是游标在表之前声明,有没有办法解决它?另外,我需要不同的值来迭代槽,所以我认为 WHILE 循环不是一个选项。

最佳答案

要使其正常工作,您需要使用准备好的语句:

CREATE PROCEDURE someProc()
BEGIN
CREATE TEMPORARY TABLE IF NOT EXISTS FoundIn ( ... );
SET @selectSql=CONCAT("SELECT * FROM FoundIn");
PREPARE stmt FROM @selectSql;
EXECUTE stmt;
DEALLOCATE PREPARE stmt;
END;

或者替代方案:使用 2 个过程:

CREATE PROCEDURE someProc()
BEGIN
CREATE TEMPORARY TABLE IF NOT EXISTS FoundIn ( ... );
CALL someProc2();
END;

其中 someProc2 包含其余代码。

关于MySQL 临时表游标,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33054960/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com