我正在尝试在 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 语句,但我想要更灵活的东西。
最佳答案
我认为您需要在设置该变量之前声明它。 (我还选择不使用 MySQL 中的保留字,即“count”)
像这样(截断):
BEGIN
DECLARE rowCount INT;
SET rowCount = 0;
SELECT COUNT(*) INTO rowCount from _tableName;
RETURN rowCount;
...
查看如下示例:http://www.mysqltutorial.org/mysql-stored-function/
希望有帮助
关于mysql - 在函数或PROCEDURE中创建SQL查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33201885/