You are passing the literal value "table_name" as the table, and "column_name" as the column.
--
You need to concatenate the substituted values onto the string with the || operator:
return execute 'select exists(select * from ' || quote_ident(table_name) || ' where ' || quote_ident(table_column) || ' = ' || id || ')';
(not tested)
On Thu, Jul 4, 2013 at 11:53 AM, giozh <giozh@xxxxxxxx> wrote:
i've write this function that search if inside a specified table there's a
specified value:
CREATE FUNCTION check_if_if_exist(id INTEGER, table_name character(50),
table_column character(20) ) RETURNS BOOLEAN AS $$
BEGIN
RETURN EXECUTE 'SELECT EXISTS(SELECT * FROM table_name WHERE table_column =
id)';
END;
$$ LANGUAGE plpgsql
but when i try to call it i always receive an error and the function will
not call. where is the problem?
--
View this message in context: http://postgresql.1045698.n5.nabble.com/unable-to-call-a-function-tp5762590.html
Sent from the PostgreSQL - general mailing list archive at Nabble.com.
--
Sent via pgsql-general mailing list (pgsql-general@xxxxxxxxxxxxxx)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-general
Moshe Jacobson
Nead Werx, Inc. | Manager of Systems Engineering
Nead Werx, Inc. | Manager of Systems Engineering
2323 Cumberland Parkway, Suite 201 | Atlanta, GA 30339
moshe@xxxxxxxxxxxx | www.neadwerx.com
moshe@xxxxxxxxxxxx | www.neadwerx.com
"Quality is not an act, it is a habit." -- Aristotle