次の関数を書きました。
-- 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
ます。