Oracleと同様、DB2はストアド・プロシージャのパラメータのデフォルトをサポートします。 Oracle構文:SYSCATテーブルを使用してDB2プロシージャのデフォルト・パラメータを検出します。
CREATE OR REPLACE PROCEDURE p_default (
p_in_number IN number := 0,
p_out_number OUT number,
p_in_varchar IN varchar2 := '0',
p_out_varchar OUT varchar2,
p_in_date IN date := date '1981-07-10',
p_out_date OUT date
)
DB2構文:
CREATE PROCEDURE p_default (
IN p_in_number INTEGER DEFAULT(0),
OUT p_out_number INTEGER,
IN p_in_varchar VARCHAR(10) DEFAULT('0'),
OUT p_out_varchar VARCHAR(10),
IN p_in_date DATE DEFAULT('1981-07-10'),
OUT p_out_date DATE
)
オラクルでは、私はこのクエリを使用してデフォルトを発見することができます。
SELECT argument_name, defaulted FROM all_arguments WHERE object_id = :proc_id
私はSYSCAT
テーブルからDB2選択でこれを発見することができますどのように? SYSCAT.PROCPARMS
またはSYSCAT.FUNCPARMS
には便利なコラムが表示されません。 (これはあなたを想定してい
Discover SQL Server procedure default parameters using SYS or INFORMATION_SCHEMA tables
ワンダフル!なぜ私は 'SYSCAT.ROUTINEPARMS'を見落としたのか分かりません –