我已经实现了一个函数来检查一个值是否出现在特定表的特定行中:
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
为什么?