在存储过程外部使用 DECLARE 和 WHILE
虽然您可以使用 DECLARE 语句在存储过程中定义变量,但在 BEGIN 外部声明的变量不允许存储过程的 ...END 子句。同样,禁止在存储过程之外使用 WHILE 循环。
这意味着您不能在存储过程或其他允许复合语句的 MySQL 结构之外的 SQL 查询中直接声明变量或执行 WHILE 循环,例如触发器、事件或用户定义函数 (UDF)。
例如,以下代码将导致错误:
<code class="sql">DECLARE @my_variable INTEGER; WHILE @my_variable < 10 BEGIN -- Your code here SET @my_variable = @my_variable + 1; END;</code>
要执行涉及 DECLARE 和 WHILE 语句的代码,您需要必须在存储过程或其他有效的复合语句构造中使用 BEGIN...END 块。
正确用法
在存储过程中正确使用 DECLARE 和 WHILE 语句过程,请按照以下步骤操作:
以上是可以在存储过程之外使用 DECLARE 和 WHILE 语句吗?的详细内容。更多信息请关注PHP中文网其他相关文章!