gpt4 book ai didi

尝试将存储过程结果插入表时 PHPmyadmin 出错

转载 作者:行者123 更新时间:2023-11-29 20:31:34 29 4
gpt4 key购买 nike

我试图将两个存储过程的表结果存储到 phpmyadmin 例程窗口中的单个表中,这给了我 mariadb 语法错误。单独调用存储过程给出了结果。

存储过程代码

BEGIN
CREATE TABLE temp(Name VARCHAR(200), Value1 varchar(100), Value2 varchar(100))
INSERT INTO temp CALL stored_procedure1();
INSERT INTO temp CALL stored_procedure2();
END

这段代码给了我以下语法错误

以下查询失败:

"CREATE DEFINER=`root`@`localhost` PROCEDURE `get_data`() NOT DETERMINISTIC NO SQL SQL SECURITY DEFINER BEGIN CREATE TABLE temp(Name VARCHAR(200), Value1 varchar(100), Value2 varchar(100)) INSERT INTO temp CALL stored_procedure1(); INSERT INTO temp CALL stored_procedure2(); END"

MySQL 说:#1064 - 你的 SQL 语法有错误;检查与您的 MariaDB 服务器版本相对应的手册,了解在 'INSERT INTO temp CALLstored_procedure1(); 附近使用的正确语法。

我尝试将 TABLE temp 的语法更改为 TABLE #temp 并添加 ;在创建表语句的末尾,但没有解决它。

最佳答案

首先,您应该将默认分隔符 ; 更改为 //

另外,我假设您忘记在此处放置 CREATE PROCEDURE Something() 语句。

DELIMITER //
CREATE PROCEDURE Something()
BEGIN
CREATE TABLE temp(Name VARCHAR(200), Value1 varchar(100), Value2 varchar(100));
INSERT INTO temp CALL stored_procedure1();
INSERT INTO temp CALL stored_procedure2();
END//
DELIMITER ;

关于尝试将存储过程结果插入表时 PHPmyadmin 出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39015571/

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