使い方は、with句内にストアドプロシージャを定義して、それをクエリで使います。
この例では、パラメータの値を2倍するファンクションを定義して、それをselect句で使用しています。
WITH FUNCTION func(x IN PLS_INTEGER) RETURN PLS_INTEGER IS BEGIN RETURN X * 2; END; SELECT func(100) FROM DUAL;
実行結果です。ファンクションに渡した値が2され取得されているのがわかります。
SQL> r 1 WITH 2 FUNCTION func(x IN PLS_INTEGER) RETURN PLS_INTEGER 3 IS 4 BEGIN 5 RETURN X * 2; 6 END; 7 SELECT func(100) 8 FROM DUAL 9 10* FUNC(100) ---------- 200