特定のテーブルの特定の行に値が表示されるかどうかを確認する関数を実装しました。
CREATE FUNCTION check_if_if_exist(id INTEGER, table_name character(50), table_column character(20) ) RETURNS BOOLEAN AS $$
DECLARE res BOOLEAN;
BEGIN
SELECT table_column INTO res
FROM table_name
WHERE table_column = id;
RETURN res;
END;
$$ LANGUAGE plpgsql
この関数を試すための簡単なテストテーブルを作成して入力しました:
CREATE TABLE tab(f INTEGER);
そして私は次のような関数を呼び出します
SELECT check_if_exist(10, tab, f);
しかし、私はこのエラーで発生します:
ERROR: column "prova" does not exist
LINE 1: SELECT check_if_exist(10, tab, f);
^
********** Error **********
ERROR: column "tab" does not exist
SQL state: 42703
Character: 27
なぜ?