我正在尝试在MySQL中创建函数来创建多个查询,例如:
DELIMITER |
CREATE PROCEDURE queryBuilder(_tableName varchar(100))
BEGIN
SET @str_query = 'SET @countRows = 0;SELECT COUNT(*) INTO @countRows FROM';
SET @str_query = CONCAT(@str_query,_tableName, '; SELECT @countRows');
PREPARE stmt1 FROM @str_query;
EXECUTE stmt1;
END|
DELIMITER;
但它不起作用?我怎样才能改变工作?我知道我可以创建IF语句但我想要更灵活的东西。
答案 0 :(得分:0)
我认为您需要在设置之前声明该变量。 (我也选择不在MySQL中使用保留字,即' count')
像这样(截断):
BEGIN
DECLARE rowCount INT;
SET rowCount = 0;
SELECT COUNT(*) INTO rowCount from _tableName;
RETURN rowCount;
...
查看以下示例:http://www.mysqltutorial.org/mysql-stored-function/
希望有所帮助