Форум: "Базы";
Текущий архив: 2011.05.29;
Скачать: [xml.tar.bz2];
ВнизRefreshSQL в ZeosDBO PostgreSQL Найти похожие ветки
← →
Sirus (2009-11-29 15:20) [0]Привет Мастера :)
Есть таблица с двумя полями
id serial, (автоинкремент)
name character(30)
В таблицу делается вставка через InsertSQL
insert into table (name) values (:name)
В RefreshSQL
select * from table
where id=:old_id
При Post выскакивает ошибка, типа результат запроса пустой.
Это понятно, потому что old_id пока не имеет значения.
Вопрос: Как узнать значение поля id только что вставленной записи и как сделать правильный RefreshSQL?
← →
Плохиш © (2009-11-29 23:00) [1]В PostgreSQL значение поля с типом serial можно записывать явно при вставке.
Само следующее значение serial для таблицы читается запросомselect nextval(""<требуемая таблица>_<поле serial>_seq"")
Подробности в описании PosgreSQL.
← →
Sirus (2009-11-30 07:29) [2]Значение поля id только что вставленной записи можно узнать так
insert into table1 (field1, field2) values ("value1", "value2") returning id
Вот только как использовать это в RefreshSQL? Как я уже писалselect * from table
Выдает пустой результат :(
where id=:old_id
← →
Sirus (2009-11-30 10:26) [3]Ошибка выходит такая: Update Refresh SQL delivered no resultset
← →
Sirus (2009-11-30 11:10) [4]Проблемка решилась id=:new_id
Хотя хрен его знает, вчера этот метод не прокатывал :),
Может из-за того что седня понедельник.
"По понедельникам можно"
← →
clickmaker © (2009-11-30 13:50) [5]ну да, новый id, как и новую жизнь, нужно начинать в понедельник )
Страницы: 1 вся ветка
Форум: "Базы";
Текущий архив: 2011.05.29;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.003 c