Re: [PLPGSQL] PERFORM into an EXECUTE allowed ?

Поиск
Список
Период
Сортировка
От Bruno Baguette
Тема Re: [PLPGSQL] PERFORM into an EXECUTE allowed ?
Дата
Msg-id ge3urt$17hc$1@news.hub.org
обсуждение исходный текст
Ответ на Re: [PLPGSQL] PERFORM into an EXECUTE allowed ?  (Tom Lane <tgl@sss.pgh.pa.us>)
Ответы Re: [PLPGSQL] PERFORM into an EXECUTE allowed ?
Список pgsql-general
Le 27/10/08 05:16, Tom Lane a écrit :
> Bruno Baguette <bruno.baguette@gmail.com> writes:
>> EXECUTE 'PERFORM COUNT(*)'
>>       || ' FROM ' || quote_ident(TG_RELNAME)
>>       || ' GROUP BY ' || quote_ident(column_name_to_check)
>>       || ' HAVING COUNT(*) > 1';
>
> PERFORM is a plpgsql keyword, not a SQL keyword, so it's not surprising
> that this fails.  What I'm wondering is what exactly you hope the above
> will accomplish?  Why would you want to execute this query only to have
> the results discarded?
>
>             regards, tom lane

Hello Tom !

I only want to know if there is at least one result for this query.
I don't want to get the results itself.

That's why I wanted to use PERFORM and working with IF FOUND THEN (or)
IF NOT FOUND THEN.

Since this trigger is intented to be usable for any table and any column
name, this query is dynamically builed into the trigger.

I've read on
<http://www.postgresql.org/docs/8.3/interactive/plpgsql-statements.html#PLPGSQL-STATEMENTS-DIAGNOSTICS>
that the statement type for my need was PERFORM (since SELECT INTO is
not supported currently on EXECUTE).

That's why I was trying to do a PERFORM into an EXECUTE.
Indeed, you're right, PERFORM is PL/PLGSQL keyword, not SQL keyword.

Mmmh, I wonder how I will workaround that problem...

Regards,

--
Bruno Baguette - bruno.baguette@gmail.com


В списке pgsql-general по дате отправления:

Предыдущее
От: wstrzalka
Дата:
Сообщение: psql screen size
Следующее
От: Andreas Jochem
Дата:
Сообщение: Re: partitioning a table containing millions of records