Re: unable to call a function
От | Pavel Stehule |
---|---|
Тема | Re: unable to call a function |
Дата | |
Msg-id | CAFj8pRAUeiq4qXARjWz-b2PYqkF=DRbhugYQZmSuXLQ2rzE78g@mail.gmail.com обсуждение исходный текст |
Ответ на | Re: unable to call a function (Adrian Klaver <adrian.klaver@gmail.com>) |
Ответы |
Re: unable to call a function
|
Список | pgsql-general |
Hello 2013/7/4 Adrian Klaver <adrian.klaver@gmail.com>: > 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. >> > > Got hung up on the function definition and skipped over the error message. > Looks like Postgres is not seeing 'prova' and 'identificatore' as text. > > What happens if you do?: > > > select check_if_exist(10, 'prova'::text, 'identificatore'::text); > there is wrong datatype CREATE OR REPLACE FUNCTION check_if_if_exist(id integer, table_name character, table_column character) no "character" - use instead "text" or "varchar" Regards Pavel > -- > Adrian Klaver > adrian.klaver@gmail.com > > > > -- > Sent via pgsql-general mailing list (pgsql-general@postgresql.org) > To make changes to your subscription: > http://www.postgresql.org/mailpref/pgsql-general
В списке pgsql-general по дате отправления: