テーブルを返す Postgres 関数があります。
CREATE OR REPLACE FUNCTION testFunction() RETURNS TABLE(a int, b int) AS
$BODY$
DECLARE a int DEFAULT 0;
DECLARE b int DEFAULT 0;
BEGIN
CREATE TABLE tempTable AS SELECT a, b;
RETURN QUERY SELECT * FROM tempTable;
DROP TABLE tempTable;
END;
$BODY$
LANGUAGE plpgsql;
この関数は、行と列の形式でデータを返しません。代わりに、次のようにデータを返します。
(0,0)
これにより、Coldfusion cfquery ブロックでデータを抽出する際に問題が発生します。この関数からテーブルが返されたときに、行と列のデータを取得するにはどうすればよいですか? つまり、PL/pgSQL 関数がデータを列として返さないのはなぜですか?