为了账号安全,请及时绑定邮箱和手机立即绑定

创建存储过程失败,代码如下,怎么回事啊?

58058f6300014a1405000110.jpg

58058f630001ef6605000305.jpg

输的没错啊 和老师的

正在回答

4 回答

没有输入参数的值长度吧,你用控制台敲一下呀,我用你的代码在控制台敲了,没问题


0 回复 有任何疑惑可以回复我~

IF sp_name IS NULL OR sp_name = '' THEN

sp_name = '' ,这个空值,中间少了一个空格符,表示值为空

1 回复 有任何疑惑可以回复我~
CREATE PROCEDURE sp_select_filter(IN sp_name VARCHAR(20)) 
    -> BEGIN
    -> IF sp_name IS NULL OR sp_name = '' THEN
    -> SELECT * FROM imooc_goddess;
    -> ELSE IF LENGTH(sp_name) = 11 AND SUBSTRING(sp_name,1,1) = 1 THEN 
    -> SELECT * FROM imooc_goddess WHERE mobile = sp_name; 
    -> ELSE SELECT * FROM imooc_goddess WHERE user_name LIKE CONCAT('%',sp_name,'%');
    -> END IF;
    -> END IF;
    -> END 
    
    改成这样了 都不行  哪错了?


0 回复 有任何疑惑可以回复我~
#1

在路上的张同学

第一行前面加上delimiter // end的后面加上// 最后一行后面加上 delimiter;
2016-10-19 回复 有任何疑惑可以回复我~
#2

Mua清流 提问者 回复 在路上的张同学

改了定界符 还是报错 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 '-> BEGIN -> IF sp_name IS NULL OR sp_name = '' THEN -> SELECT * FROM i' at line 2
2016-10-19 回复 有任何疑惑可以回复我~

开头没加 create procedure 表名 (in sp_name varchar(20)

0 回复 有任何疑惑可以回复我~
#1

在路上的张同学

最后少了个 )
2016-10-18 回复 有任何疑惑可以回复我~
#2

Mua清流 提问者 回复 在路上的张同学

最后是指?
2016-10-18 回复 有任何疑惑可以回复我~
#3

在路上的张同学 回复 Mua清流 提问者

create procedure 表名 (in sp_name varchar(20))
2016-10-18 回复 有任何疑惑可以回复我~
#4

Mua清流 提问者 回复 在路上的张同学

改过了 还不行 代码我贴下面了
2016-10-18 回复 有任何疑惑可以回复我~
查看1条回复

举报

0/150
提交
取消

创建存储过程失败,代码如下,怎么回事啊?

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信