RECORD型

PostgreSQLの面白い構文の書き方を知った。

SELECT my_function(MY_TABLE) from MY_TABLE;
と書くと、関数my_function()にはMY_TABLEのタプルがそっくりそのまま渡される。
(my_function()は入力値としてRECORD型をサポートする必要がある)

RECORD型を入力できるようにすると、事前にテーブルの型がわからなくても、実行時にどういったカラムが含まれているかを調べて関数を実行することができる。
トリガ関数では日常的に使われるデータ型だが、普通のSQL文の中で使う時の構文の書き方がわからなかったので難儀した。

忘れないように自分用メモ。