我想测试在AS400系统上运行的DB2存储过程。
我安装了IBM System i Access for Windows,可以针对DB2数据库运行SQL命令。
我的问题是:执行存储过程的语法是什么,该存储过程接收参数并将结果作为输出参数返回并将值打印到屏幕上?
只是为了澄清:我不是问如何在代码中调用proc。我想执行proc并在gui工具中查看结果(类似于SQL Enterprise Manager)。
答案 0 :(得分:23)
使用关键字call
并传入参数。
call myStoredProc(parm1, parm2, ?);
有关详细信息,请参阅此处http://www.ibm.com/developerworks/data/library/techarticle/dm-0503melnyk/。有趣的部分是图5.使用Command Editor调用SQL过程
答案 1 :(得分:7)
你想要什么是可能的。我自己做了很多次。不幸的是,我现在不在办公室,所以它一定是我的头顶。
另外请注意,
非常重要:我无法在iSeries本身上使用SQL编辑器(STRSQL)测试SP。只有iAccess SQL编辑器才能正常工作。
答案 2 :(得分:0)
您应该能够像这样运行SP:
DECLARE
usr_in YOUR_TABLE.YOUR_COLM%TYPE; --Gets the correct type by looking at column type
app_in YOUR_TABLE.YOUR_OTHER_COLM%TYPE;
BEGIN
usr_in:='some value';
app_in:='another_value';
YOUR_SP_NAME(usr_in, app_in);
END;
或者您可以使用EXECUTE,但是它不能动态准备(不能在Java中运行),我认为还有其他缺点。
EXECUTE myStoredProc(parm1, parm2, ?);