DB2,创建存储过程报错,SQLCODE=-104,SQLSTATE=42601,psm_semicolon

报错背景: DB2数据库创建存储过程时,报错,数据库编辑软件为Aqua Data Studio/DbVisualizer
存储过程如下:

create or replace procedure DM.proc_test(
	in i_seq integer,
	out o_flag integer 
)
begin
  declare v_test varchar(20);
end;

报错内容:
[CREATE]DB2 SQL Error:SQLCODE=-104,SQLSTATE=42601,SQLERRMC=END-OF-STATEMENT;E v_test varchar(20);
[END]DB2 SQL Error:SQLCODE=-104,SQLSTATE=42601,SQLERRMC=END-OF-STATEMENT;END;JOIN

[CREATE]DB2 SQL Error:SQLCODE=-104,SQLSTATE=42601,SQLERRMC=END-OF-STATEMENT;E v_test varchar(20);<psm_semicolon>
[END]DB2 SQL Error:SQLCODE=-104,SQLSTATE=42601,SQLERRMC=END-OF-STATEMENT;END;JOIN <joined_table>

报错原因:
对于数据库编辑软件或者命令窗口而言,默认语句结束符号为“;”,所以在上述存储过程执行时,语句只会执行到 end语句之前就结束了。

解决方案:
修改编辑器的语句结束符为其他符号
1)命令窗口修改语句结束符(例,修改为@):
delimiter @
2)数据库软件,在配置中修改 delimiter(分隔符)为其他即可

你可能感兴趣的:(#,DB2数据库开发,DB2,错误收集,DB2)