gpt4 book ai didi

mySQL 存储过程 : input paramrter passed to the show procedure

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

当我在控制台中测试这个脚本时,它正在运行。

我的脚本:

show fields from testdata1970_05.loadlv_test where FIELD not like 'ID_test';

我的存储过程:

DELIMITER $$
DROP PROCEDURE IF EXISTS `testdata1970_05`.`list_testparameters` $$
CREATE DEFINER=`root`@`localhost` PROCEDURE `list_testparameters`(IN nametest varchar(24))
BEGIN
show fields from nametest where FIELD not like 'ID_test';
END $$
DELIMITER ;

但是,当我基于此脚本构建存储过程时,它不起作用。

执行存储过程:

call list_testparameters(loadlv_test);

错误:

ERROR 1054 (42S22): Unknown column 'loadlv_test' in 'field list'

当这个脚本可以在控制台中运行时,请告知为什么它不能运行?

最佳答案

假设testdata1970_05是一个数据库,需要动态生成SQL并执行。

DELIMITER $$
DROP PROCEDURE IF EXISTS `testdata1970_05`.`list_testparameters` $$
CREATE DEFINER=`root`@`localhost` PROCEDURE `list_testparameters`(IN nametest varchar(24))
BEGIN
SET @sql_text := CONCAT('show fields from ','`testdata1970_05`.`',@nametest,'` where FIELD not like ''ID_test''';
PREPARE sqlstmt FROM @sql_text;
EXECUTE sqlstmt;
END $$
DELIMITER ;

关于mySQL 存储过程 : input paramrter passed to the show procedure,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16333462/

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