次のテーブルとテーブル関数を作成したとします。
CREATE TABLE t1 ( a1 INTEGER, b1 INTEGER); CREATE TABLE t2 ( a2 INTEGER, b2 INTEGER); CREATE FUNCTION add2int ( a INTEGER, b INTEGER) RETURNS TABLE (addend1 INTEGER, addend2 INTEGER, mysum INTEGER) SPECIFIC add2int LANGUAGE C NO SQL PARAMETER STYLE SQL NOT DETERMINISTIC CALLED ON NULL INPUT EXTERNAL NAME 'CS!add3int!add2int.c';
WITH文修飾子のサブクエリーから作成された一時結果セットをFROM句のテーブル関数add2intへの入力として使用します。
WITH dt(a,b) AS ( SELECT a1, b1 FROM t1) SELECT addend1, addend2, mysum FROM dt, TABLE (add2int(dt.a, dt.b)) AS tf ORDER BY 1,2,3;