这个程序不起作用。请告诉我是怎么回事?
drop procedure if exists while_do;
delimiter $$
CREATE PROCEDURE `while_do`()
BEGIN
SET @p=0;
WHILE @p<10 DO
SET @p = @p + 1;
END WHILE;
SELECT @p;
END $$
DELIMITER ;
call while_do();
错误:
这个程序不起作用。请告诉我是怎么回事?
drop procedure if exists while_do;
delimiter $$
CREATE PROCEDURE `while_do`()
BEGIN
SET @p=0;
WHILE @p<10 DO
SET @p = @p + 1;
END WHILE;
SELECT @p;
END $$
DELIMITER ;
call while_do();
错误:
whilew_do
()开始”附近使用的正确语法 在p=0时设置; 当p〈10时 第1行的SE'
1条答案
按热度按时间66bbxpm51#
您的查询可以在phpMyAdmin(PMA)中运行,但需要进行一些调整。
我假设SQL已粘贴到SQL选项卡上?
需要更改的是删除带有
delimiter
的行,因为在SQL文本区域下面有一个用于指定分隔符的输入:1.然后将查询修改为如下所示:
1.将输入中的分隔符更改为
$$
:1.然后运行查询,输出将如下所示:
或者,另一种在PMA中创建例程的方法是使用
Routines
标签,完全不需要使用分隔符:例程列表下面是:
指令集
点击
Add routine
链接将打开一个弹出表单。按下图所示填写,放下参数列表:然后,单击
Go
按钮后,将列出新例程:指令集
我的版本信息: