Вниз
Скачать: CL | DM;

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 вся ветка

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.004 c
4-1247595131
Muxa/Ibl4
2009-07-14 22:12
2011.05.29
Последовательный доступ к MMF


9-1189415446
Help me!
2007-09-10 13:10
2011.05.29
Есть какая-нибудь разница в способе создания MIPMAP?


2-1297969851
Criptonik
2011-02-17 22:10
2011.05.29
путь к директории с помощью opendialog


15-1297411292
dmk
2011-02-11 11:01
2011.05.29
Backup файлов


2-1298064447
lewka
2011-02-19 00:27
2011.05.29
Копирование TImage




   Наверх