Function Question

Поиск
Список
Период
Сортировка
От Jake Stride
Тема Function Question
Дата
Msg-id CABO-GFSNxsK0T756EPdXVa3cH8W_tx_j0b8CSfZONt=h+=gHhw@mail.gmail.com
обсуждение исходный текст
Ответы Re: Function Question
Список pgsql-general
I am trying to create a function that gets fired when a new row is
inserted. I can get the following function built but my problem is
that the sequence that is created is called "NEW.key" rather than the
value that is being inserted (it should be a UUID).

I have tried putting the key into a variable and using no quotes but
it either errors or gives me "NEW.key" rather than "whatever-uuid-was
inserted".

Please can anybody give me some pointers?

Thanks
Jake

CREATE OR REPLACE FUNCTION public.setup_sequence()
                RETURNS trigger
                LANGUAGE plpgsql
                AS $$
                    DECLARE
                        sequence_name UUID;
                    BEGIN
                        IF (
                            TG_OP = 'INSERT' AND
                            NEW.type = 'auto_increment'
                        ) THEN
                            SELECT NEW.key INTO STRICT sequence_name;
                            -- Set up the sequence
                            CREATE SEQUENCE \"NEW.key\";
                            -- Set the start value
                            --SELECT SETVAL(sequence_name, NEW.auto_increment_default);
                        END IF;
                        RETURN NEW;
                    END;

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

Предыдущее
От: Raymond O'Donnell
Дата:
Сообщение: Re:
Следующее
От: Rodger Donaldson
Дата:
Сообщение: Re: Hope for a new PostgreSQL era?