declare myparam int default 100;
报错ERROR 1064 (42000): 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 'declare @i int' at line 1
那位大神帮忙解答一下
mysql declare 语法问题
- 写回答
- 好问题 0 提建议
- 追加酬金
- 关注问题
- 邀请回答
-
2条回答 默认 最新
- 砸死接触 2017-09-15 02:26关注
这是一个自定义函数的例子 ,希望对有帮助,我这里暂没找到自己写的存储过程例子,楼主可以百度下,应该挺多的。
DELIMITER $$ DROP FUNCTION IF EXISTS `func_split_string_to_other`$$ CREATE FUNCTION `func_split_string_to_other`(v_str varchar(100),v_desc varchar(100)) RETURNS varchar(100) CHARSET utf8 BEGIN DECLARE i int(4); DECLARE id1 INT DEFAULT 0; DECLARE temp varchar(100); DECLARE returnStr varchar(100); set i = 1; if(v_str is null or LENGTH(v_str)=0) then return 'error'; else while i<= 1+(LENGTH(v_str) - LENGTH(replace(v_str,v_desc,''))) do SELECT id INTO id1 FROM tb_dep WHERE name=REVERSE(SUBSTRING_INDEX(REVERSE(SUBSTRING_INDEX(v_str, v_desc, i)), v_desc, 1)); IF(returnStr IS NULL) THEN set returnStr=id1; ELSE SET temp=returnStr; set returnStr= CONCAT(temp,v_desc,id1); END IF; set i = i+1; end while; return returnStr; end if; END$$ DELIMITER ;
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报