AS400システムで実行されているDB2ストアドプロシージャをテストしたいと思います。
IBM System i Access for Windowsがインストールされていて、DB2データベースに対してSQLコマンドを実行できます。
私の質問は、パラメーターを受け取り、結果を出力パラメーターとして返し、その値を画面に出力するストアード・プロシージャーを実行するための構文は何ですか?
ただ明確にするために、私はコードでプロシージャを呼び出す方法を尋ねていません。プロシージャを実行して、GUIツール(SQL Enterprise Managerに似ています)で結果を確認したいと思います。
キーワードcall
を使用して、パラメーターを渡します。
call myStoredProc(parm1, parm2, ?);
詳細については、ここを参照してください http://www.ibm.com/developerworks/data/library/techarticle/dm-0503melnyk/ 。興味深い部分は図5.コマンドエディターを使用してSQLプロシージャを呼び出す
あなたが欲しいものは可能です。私は何度も自分でやったことがあります。不幸なことに、私は現在オフィスにいないので、頭の上から来ている必要があります。
補足として、
非常に重要:iSeries自体のSQLエディター(STRSQL)でSPをテストすることはできませんでした。iAccessSQLエディターのみが正しく機能しました。
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, ?);