使い方は、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