Re: triggers and execute...

Поиск
Список
Период
Сортировка
От Scott Marlowe
Тема Re: triggers and execute...
Дата
Msg-id dcc563d10904271437j18517354j56e72c8021fb6e8f@mail.gmail.com
обсуждение исходный текст
Ответ на Re: triggers and execute...  (Richard Broersma <richard.broersma@gmail.com>)
Ответы Re: triggers and execute...  (Sam Mason <sam@samason.me.uk>)
Список pgsql-general
On Mon, Apr 27, 2009 at 3:24 PM, Richard Broersma
<richard.broersma@gmail.com> wrote:
> On Mon, Apr 27, 2009 at 1:32 PM, Scott Marlowe <scott.marlowe@gmail.com> wrote:
>> OK, I'm hitting a wall here.  I've written this trigger for partitioning:
>>
>> create or replace function page_access_insert_trigger ()
>> returns trigger as $$
>> DECLARE
>>        part text;
>>        q text;
>> BEGIN
>>        part = to_char(new."timestamp",'YYYYMMDD');
>>        q = 'insert into page_access_'||part||' values (new.*)';
>> ...
>>
>> When I create it and try to use it I get this error:
>> ERROR:  NEW used in query that is not in a rule
>> CONTEXT:  SQL statement "insert into page_access_20090427 values (new.*)"
>
> At this point I don't think that there is a way for this function to
> know the correct table type of new.* since page_access_... is still
> only a concatenated string.  There there a way to cast new.* to the
> correct table type as part of this insert statement?

I tried casting the new.*::page_access and that didn't work.  For now
I'll carry on with the complete listing of everything.

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

Предыдущее
От: "Gauthier, Dave"
Дата:
Сообщение: Re: Query organization question
Следующее
От: Tom Lane
Дата:
Сообщение: Re: how do you get there from here?