DB2存储过程中有回车换行符就报错?
中泽三郎 2010-01-30 04:32:09 create procedure b_test(out ret varchar(20)) language sql begin set ret = 'help'; end ;
这种写法在图形界面和db2 -tvf D:\liuguanju\sp.sql都能成功创建。
而
create procedure b_test(out ret varchar(20))
language sql
begin
set ret = 'help';
end ;
这种写法死活建不上去,报错如下:
F:\Program Files\IBM\SQLLIB\BIN>db2 -tvf D:\liuguanju\sp_test.sql
create procedure b_test(out ret varchar(20))
language sql
begin
set ret = 'help'
DB21034E 该命令被当作 SQL 语句来处理,因为它是无效的“命令行处理器”命令。在
SQL 处理期间,它返回:
SQL0104N 在 "et ret = 'help'" 后面找到异常标记
"END-OF-STATEMENT"。预期标记可能包括:"<psm_semicolon>"。 LINE NUMBER=4.
SQLSTATE=42601
end
DB21034E 该命令被当作 SQL 语句来处理,因为它是无效的“命令行处理器”命令。在
SQL 处理期间,它返回:
SQL0104N 在 "end" 后面找到异常标记 "END-OF-STATEMENT"。预期标记可能包括:"JOIN
<joined_table>"。 SQLSTATE=42601
图形界面执行也是如此。
本人初学DB2,多谢指点。