带字符串变量的mysql查询
我做了一个程序,在“另一个表”的字符串名称表中循环,我使用这些字符串对另一个表“inputOrders”进行查询,但是我得到的不是返回数字,而是返回输入的字符串带字符串变量的mysql查询,mysql,string,Mysql,String,我做了一个程序,在“另一个表”的字符串名称表中循环,我使用这些字符串对另一个表“inputOrders”进行查询,但是我得到的不是返回数字,而是返回输入的字符串 DROP PROCEDURE IF EXISTS x1; delimiter // CREATE PROCEDURE retrieveOrderTotal() BEGIN DECLARE finished INTEGER DEFAULT 0; DECLARE temp VARCHAR(50) DEFAULT "";
DROP PROCEDURE IF EXISTS x1;
delimiter //
CREATE PROCEDURE retrieveOrderTotal()
BEGIN
DECLARE finished INTEGER DEFAULT 0;
DECLARE temp VARCHAR(50) DEFAULT "";
declare stuff CURSOR FOR SELECT * FROM another_table;
DECLARE CONTINUE HANDLER FOR NOT FOUND SET finished = 1;
open stuff;
getColumn: LOOP
FETCH stuff INTO temp;
IF finished = 1 THEN
LEAVE getColumn;
END IF;
select temp from inputOrders;
END LOOP getColumn;
close stuff;
End
//
另一个_表的变量有:
5:_WKLY_SPCL_1
10:_WKLY_SPCL_1
15:_WKLY_SPCL_1
20:_WKLY_SPCL_1
而输入订单有:
5:_WKLY_SPCL_1
------------------
1
2
3
4
您可以尝试以下方法:
SET @sql := CONCAT('SELECT * FROM ', @table, ';');
PREPARE stmt FROM @sql;
EXECUTE stmt;