db2 存储过程 helloworld出错。怎么破啊?!

itwriter 发布于 2014/10/13 20:56
阅读 248
收藏 0
DB2
create procedure test()

LANGUAGE sql

BEGIN

END;

这样没有问题。可是:

create procedure test()

LANGUAGE sql

BEGIN

declare a varchar(1000);

END;



可是加上一个字符串变量的声明后就报42601的错误了。

怎么破啊啊啊?!

问题原因:

命令行的结束符似乎是@。而上边的存储过程使用;作为结束符。

在quest central for db2中执行正常,是因为其默认结束符就是;,所以才能正常执行。

解决办法:

要在命令行中执行的话,可以把结束符;都换成@

create procedure test()

LANGUAGE sql

BEGIN

declare a varchar(1000);

END@
调用时使用"db2 -td@ -vf c:/1.txt"就可以了。

加载中
0
走位风骚闪着腰
itwriter
itwriter
嗯,在db2cmd执行出问题。 放到quest center for db2就好使了。 谢谢。
返回顶部
顶部