## 随便先建立一个表
create table User
(
UserId int auto_increment Primary key ,
UserName varchar(30),
UserPwd varchar(30)
);
create procedure p_test()
begin
end ;
## 正常的创建一个空的存储过程
create procedure p_test()
begin
select * from User;
end ;
错误如下
:Statement is incomplete ,expecting:";"
不是大小写分号的问题......但是报这个错.....
感谢帮助我的朋友,
解决了,第一次用官网的,之所以不能执行是因为编译器遇到一次分号就结束了,需要使用
delimiter (定界符)。
drop procedure if exists p_Register ;
delimiter $ ----设置开始段符号为 $
----碰到$ 该片段结束,编译器执行这一段的内容
create procedure p_Register
(
in p_name varchar(40),
in p_pwd varchar(40),
out p_registerStatus int
)
begin
set p_registerStatus =(select count(*) from User where UserName =p_name);
if p_registerStatus=0
then
insert into User values(0,p_name,p_pwd);
end if;
end$
delimiter ; `-----重新设置开始片段为;号
delimiter 默认的就是;号
select * from User后面加的是分号,英文下的分号
每条命令后面添加个;符号,错误提示上已经说明了的