db2数据库自定义函数DECLARE语句报错 30

第五行报错,搞不明白报错原因,求大神解救我。CREATEFUNCTION"DB2ADMIN"."GETSTRINGBYSYMBOL"("tString"VARCHAR(5... 第五行报错,搞不明白报错原因,求大神解救我。

CREATE FUNCTION "DB2ADMIN"."GETSTRINGBYSYMBOL"
("tString" VARCHAR(50),"tSymbol" VARCHAR(50),"tPos" INTEGER)
RETURNS VARCHAR(100)
BEGIN
DECLARE tResult VARCHAR(100) default NULL;
DECLARE tTempPos INTEGER;
if(tPos = 1)then
if(instr(tString,tSymbol)<>0) then
tResult = nvl(substr(tString,0,instr(tString,tSymbol)-1),' ');
else
tResult = nvl(tString,' ');
end if;
else
if(tPos>1)then
tTempPos = tPos -1 ;
end if;

if(instr(tString,tSymbol)<>0) then
tResult = nvl(getStringBySymbol(nvl(substr(tString,instr(tString,tSymbol)+1),' '),tSymbol,tTempPos),' ');
else
tResult = ' ';
end if;
end if;

return(tResult);
end GETSTRINGBYSYMBOL;
展开
 我来答
车筠宋煦
2020-03-20 · TA获得超过3万个赞
知道大有可为答主
回答量:1万
采纳率:27%
帮助的人:828万
展开全部
网上都说db2不支持修改字段名
一般方式是建立新字段与待删除字段类型一样
然后把旧字段值拷贝到新字段
最后把旧字段删除,就可以了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
鬼谷子教主
2015-03-25 · TA获得超过2496个赞
知道大有可为答主
回答量:1996
采纳率:88%
帮助的人:557万
展开全部
将Default NULL 删除
追问
之前就是没有default null的  也不行
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2015-03-26
展开全部
无差错代码
CREATE FUNCTION MS.RENODE
(NODECODE VARCHAR(10) )
RETURNS VARCHAR(10)
LANGUAGE SQL
NO EXTERNAL ACTION f1:
BEGIN ATOMIC
DECLARE V_FCODE VARCHAR(2);DECLARE
V_LCODE VARCHAR(8);SET
V_FCODE =SUBSTR(NODECODE,1,2);SET
V_LCODE = SUBSTR(NODECODE,3,8);IF(V_FCODE ='00')
THEN SET V_FCODE = '07';ELSEIF(V_FCODE ='01')
THEN SET V_FCODE = '08';END IF;RETURN V_FCODE||V_LCODE;END;
追问
报错跟上图一样,只是你这里声明变量是第7行,我报错的line也在第7行
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式