私はPostgreSQLの関数を始めたばかりで、これはおそらくかなり基本的なことですが、これはどのように行われますか?
関数で次のものを使用できるようにしたいと思います。
PERFORM id_exists();
IF FOUND THEN
-- Do something
END IF;
ここで、id_exists()
関数(SELECTおよびPERFORMで使用される)は次のとおりです。
CREATE OR REPLACE FUNCTION id_exists() RETURNS int AS $$
DECLARE
my_id int;
BEGIN
SELECT id INTO my_id
FROM tablename LIMIT 1;
RETURN my_id;
END;
$$ LANGUAGE plpgsql;
現在、my_id
テーブルに存在しない場合でもFOUND
、おそらく行がまだ返されている(null整数)ためにtrueですか?これを書き直して、見つかった場合に整数が返されるようにするにはどうすればよいですか。そうでない場合は、何も返されません。