qinar 发表于 2012-9-7 14:18:42

这个存储过程有错误吗?

本帖最后由 qinar 于 2012-9-7 14:20 编辑

我写了个存储过程如下:create procedure pic_suz(img_url varchar(200))
begin
DECLARE tmp varchar(255) DEFAULT 'aaaaaa';
if left(img_url,7)="http://" then
    tmp=img_url;
else
    tmp=RIGHT(img_url,LENGTH(img_url)-INSTR( img_url,"http://" )+1);
select tmp;
end;一直提示一下错误信息:
CREATE PROCEDURE pic_suz( img_url VARCHAR( 200 ) ) BEGIN DECLAREtmp VARCHAR( 255 ) DEFAULT 'aaaaaa';

MySQL 返回:http://localhost/phpMyAdmin/themes/original/img/b_help.png#1064 - 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 '' at line 3

大家请指导一下

kider 发表于 2012-9-10 16:23:37

不需要默认值
甚至可以不用DECLARE
用这个变量前@就可以,赋值什么变量就自动是什么类型

yann28 发表于 2012-9-20 10:21:49

1: 变量的赋值,"tmp = img_url;" 要用set或者select into吧?
2: if语句的结束要加"end if;"
页: [1]
查看完整版本: 这个存储过程有错误吗?