Stored procedures 如何在IBM System i Access for Windows GUI工具中调用存储过程
我想测试一个在AS400系统上运行的DB2存储过程 我安装了IBM System I Access for Windows,可以对DB2数据库运行SQL命令 我的问题是:执行接收参数并返回结果作为输出参数并将值打印到屏幕上的存储过程的语法是什么Stored procedures 如何在IBM System i Access for Windows GUI工具中调用存储过程,stored-procedures,db2,ibm-midrange,Stored Procedures,Db2,Ibm Midrange,我想测试一个在AS400系统上运行的DB2存储过程 我安装了IBM System I Access for Windows,可以对DB2数据库运行SQL命令 我的问题是:执行接收参数并返回结果作为输出参数并将值打印到屏幕上的存储过程的语法是什么 澄清一下:我不是在问如何在代码中调用proc。我希望执行该过程并在gui工具(类似于SQL Enterprise Manager)中查看结果。使用关键字调用并传入参数 call myStoredProc(parm1, parm2, ?); 有关更多详细
澄清一下:我不是在问如何在代码中调用proc。我希望执行该过程并在gui工具(类似于SQL Enterprise Manager)中查看结果。使用关键字
调用
并传入参数
call myStoredProc(parm1, parm2, ?);
有关更多详细信息,请参见此处。有趣的部分是图5。使用命令编辑器调用SQL过程是可能的。我自己做过很多次。不幸的是,我现在不在办公室,所以这一定是我的想法
- 在iAccess中,在每个模式下,您将看到表、视图等的图标。还提供了存储过程的图标。您将在那里看到您的SP。使用这些选项可以查看定义等。此信息包括有关参数的详细信息
- 如果您想在iSeries上检查这一点,请使用系统目录(也可以从SQL编辑器中执行此操作)和“从qsys2.sysprocedures中选择*from procedure_procedure_name(对不起,现在不确定此列的名称)='YourStoredProcess';”
非常重要:我从未能够在iSeries本身上使用SQL编辑器(STRSQL)测试SP。只有iAccess SQL编辑器工作正常。您应该能够像这样运行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, ?);
谢谢-我是DB2新手,三周来一直在努力解决这个问题。我没想到要用?(正试图像在SQL Server中一样使用declare变量)。
?
是一个输出参数downvote,因为没有解释,链接也没有谈到SPs。如何获取返回值?@PhilipRego您是否查看了图5及其前面的段落?它特别告诉您如何从GUI工具调用存储过程。大多数人甚至怀疑能否访问该UI工具。如果没有用户界面,你不能那样称呼他们。您需要声明变量。@PhilipRego如果您有一个完全许可的IBM System i(有时称为iSeries或AS400),您也有可能在您的系统上安装IBM System i Access for Windows。如果您不喜欢该工具,您可以随时从IBM网页下载IBM Data Studio(免费工具)。该工具能够连接到iSeries。