スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

引数が1以上の数かどうか判定する

私がテーブル設計をすると、主キーは連番のみにすることが多いです。
そうするとPL/pgSQLを書くと冒頭で引数がnullでなく1以上というチェックを頻繁に行います。
毎回書くのはめんどうくさいので、可変長引数を使って関数にまとめました。

-- 引数が1以上の数かどうか判定する
-- 引数
-- p_params : 任意個の値
-- 戻り値
-- 全て1以上の数の場合true
CREATE OR REPLACE FUNCTION uv_is_integers(
p_params VARIADIC numeric[]
) RETURNS boolean AS $$
DECLARE
BEGIN
FOR i IN 1..array_length(p_params, 1) LOOP
IF p_params[i] IS NULL OR 1 > p_params[i] THEN
RETURN false;
END IF;
END LOOP;
RETURN true;
END;
$$ LANGUAGE plpgsql;

一行入魂サイトにまとめがあります。
スポンサーサイト

COMMENTS

COMMENT FORM

TRACKBACK


この記事にトラックバックする(FC2ブログユーザー)

上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。