次の関数を書きました。
-- Authenticate: Get session_id with user_id
CREATE OR REPLACE FUNCTION sessions_get(bigint) RETURNS SETOF char(32) AS
$$
SELECT strip_hyphens(id) as id FROM sessions WHERE user_id = $1;
$$
LANGUAGE SQL;
クエリ
SELECT sessions_get(1)を実行して、ユーザー ID 1 のセッション ID を取得できるようにしたいと考えています。また、返される列の名前をid.それは可能ですか?または、クエリは次のようにする必要があります
SELECT * FROM sessions_get(1)か? その場合は、 と書くだけで短くなりますSELECT sessions_get(1) as id。どちらが良いですか?SETOFこの関数は常に 0 行または 1 行を返すことがわかっているため、削除できますか?user_idテーブルの主キーであるため、これを知っていsessionsます。