OS/390 で実行されている DB2 ストアード・プロシージャー・ビルダー・バージョン 5 以降では、 ウィザードを使用してストアード・プロシージャーを挿入し、WLM 環境オプションを指定しなかった場合、 生成されるコードにテキスト NO WLM ENVIRONMENT が含まれます。 このコードの行によって、予期された通りに ストアード・プロシージャーが SPAS アドレス空間で実行されます。 この修正が行われることで、DB2 ストアード・プロシージャー・ビルダー・バージョン 6 以降にある 問題が解決されます。
修正後に生成されるコードは以下の通りです。
CREATE PROCEDURE SYSPROC.Proc2 ( ) RESULT SETS 1 LANGUAGE SQL MODIFIES SQL DATA COLLID TEST NO WLM ENVIRONMENT ASUTIME NO LIMIT RUN OPTIONS 'NOTEST(ALL,*,,VADTCPIP&9.112.14.91:*)' ------------------------------------------------------------------- -- SQL Stored Procedure ------------------------------------------------------------------- P1: BEGIN -- Declare cursor DECLARE cursor1 CURSOR WITH RETURN FOR SELECT * FROM SYSIBM.SYSPROCEDURES; -- Cursor left open for client application OPEN cursor1; END P1