Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / Получение ключа только что созданой записи / 3 сообщений из 3, страница 1 из 1
11.07.2004, 17:34
    #32598785
i l y a
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Получение ключа только что созданой записи
необходимо в одной транзакции создать связанные записи в двух таблицах, причем во второй таблице должна быть ссылка нв только что созданую запись в первой.
Структура типа
-------------------------------------------------------
begin;
INSERT INTO MYTABLE1 (PARAM1) SELECT 1 ;
INSERT INTO MYTABLE1 (param1, mytable1_id) SELECT 1, currval('mytable1_id_seq') ;
end ;
-------------------------------------------------------
не работает.
ошибка: Доступ запрещен для последовательности mytable1_id_seq
В чем может быть дело?
...
Рейтинг: 0 / 0
12.07.2004, 22:21
    #32600641
centur
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Получение ключа только что созданой записи
судя по ошибке - скорей всего нету grant на sequence.
А вообще - проще это делать триггером - на вставку в table1 срабатывает триггер который поле NEW.mytable1_id вставляет в table2
PS а код тут правильный ?
begin;
INSERT INTO MYTABLE1 (PARAM1) SELECT 1 ;
INSERT INTO MYTABLE1 (param1, mytable1_id) SELECT 1, currval('mytable1_id_seq') ;
end ;


а то похоже все в одну таблицу вставляешь
...
Рейтинг: 0 / 0
18.07.2004, 18:12
    #32609614
Shweik
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Получение ключа только что созданой записи
Не думаю что это красивое решение, но у меня
уже пару лет в одной из баз есть правило вставляющее в резервные таблицы new.*.....
...
Рейтинг: 0 / 0
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / Получение ключа только что созданой записи / 3 сообщений из 3, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]