0
我想问一下在动态查询中是否有可能使用DECLARE
变量。MySQL声明的动态查询
即:
CREATE PROCEDURE `storedProcedureName`()
DETERMINISTIC
SQL SECURITY DEFINER
COMMENT ''
BEGIN
SET @i = 0;
PREPARE dynamicQuery FROM 'DECLARE x INT(11);';
EXECUTE dynamicQuery;
PREPARE dynamicQuery FROM 'SET x := ?;';
EXECUTE dynamicQuery USING @i;
DEALLOCATE PREPARE dynamicQuery;
/* More Queries Here */
END
但我发现了语法错误:You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'DECLARE x INT(11)' at line 1
感谢
嗨@Devart,我'PREPARE'声明实际上是一个'存储procedure'内。编辑我的问题。感谢:D – KaeL
无论如何,DECLARE语句不能用于准备好的语句。尝试使用用户变量(@ var1,@ var2,...)。 – Devart
我看到,其他语句尚不支持。非常感谢。我想我别无选择,只能使用'会话变量'。 – KaeL