DB2无法创建简单的存储过程

时间:2016-02-10 12:15:23

标签: sql stored-procedures db2

我真正的存储过程要复杂得多,但DB2似乎甚至无法创建一个完全没有任何功能的虚拟存储过程(这就是我发布这个虚拟过程的原因)。程序如下

CREATE PROCEDURE SIMPLE_DECL_PROC()
LANGUAGE SQL
BEGIN
DECLARE v varchar(16);//the problem is here
END

我收到以下错误:

2:59:31  [CREATE - 0 row(s), 0.000 secs]  [Error Code: -104, SQL State: 42601]  
DB2 SQL Error: SQLCODE=-104, SQLSTATE=42601, SQLERRMC=END-OF-STATEMENT;ECLARE v varchar(16);<psm_semicolon>, DRIVER=3.57.82

错误抱怨声明声明虽然我看不出它有什么问题(尝试删除;但最后但它没有工作)。

如果我删除了declare语句,则会成功创建该过程。

我尝试使用DBVisualizer以及SQL Squirrel。

我确定它很简单,但是我找不到它,但是我无法找到它。不用说,我已经在SO和其他地方检查了类似的问题。

最后,我们正在使用DB2 9.7。

由于

1 个答案:

答案 0 :(得分:1)

大多数SQL客户端允许设置所谓的语句终止符。这是整个语句末尾的字符。默认情况下,大多数客户端使用分号(“;”)。对于存储过程,通常需要选择和设置不同的语句终止符。这是因为存储过程可以包含多个终止的SQL语句,但只有整个存储过程才相关。

相关问题