From: | Adrian Klaver <adrian(dot)klaver(at)gmail(dot)com> |
---|---|
To: | giozh <giozh(at)yahoo(dot)it> |
Cc: | pgsql-general(at)postgresql(dot)org |
Subject: | Re: unable to call a function |
Date: | 2013-07-04 17:50:01 |
Message-ID: | 51D5B5C9.9020902@gmail.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-general |
On 07/04/2013 10:14 AM, giozh wrote:
> something gone wrong the same...
>
> REATE OR REPLACE FUNCTION check_if_if_exist(id integer, table_name
> character, table_column character)
> RETURNS boolean AS
> $BODY$
>
> DECLARE res BOOLEAN;
>
> BEGIN
> EXECUTE 'SELECT EXISTS(SELECT * FROM'||table_name||
> 'WHERE'||table_column||'='||$1||')' INTO res USING id;
> RETURN res;
> END;
>
> select check_if_exist(10, 'prova', 'identificatore');
>
>
> RROR: function check_if_exist(integer, unknown, unknown) does not exist
> LINE 1: select check_if_exist(10, 'prova', 'identificatore');
> ^
> HINT: No function matches the given name and argument types. You might need
> to add explicit type casts.
>
Not sure if there is a cut and paste error involved but the function
should be something like:
CREATE OR REPLACE FUNCTION utility.check_if_if_exist(id integer,
table_name character, table_column character)
RETURNS boolean
LANGUAGE plpgsql
AS $BODY$
DECLARE res BOOLEAN;
BEGIN
EXECUTE 'SELECT EXISTS(SELECT * FROM '||table_name||
' WHERE '||table_column||'='||$1||')' INTO res USING id;
RETURN res;
END;
$BODY$;
I also put in some spaces to make the query work.
--
Adrian Klaver
adrian(dot)klaver(at)gmail(dot)com
From | Date | Subject | |
---|---|---|---|
Next Message | Adrian Klaver | 2013-07-04 18:14:53 | Re: unable to call a function |
Previous Message | giozh | 2013-07-04 17:14:58 | Re: unable to call a function |