Вниз
Скачать: 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.45 MB
Время: 0.008 c
15-1297778078
TUser
2011-02-15 16:54
2011.05.29
Лапы и полулапы шкурок яхобаба; Плющилки тракторные; ...


15-1297727471
KilkennyCat
2011-02-15 02:51
2011.05.29
Как можно успеть?!


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


15-1297449232
GrayFace
2011-02-11 21:33
2011.05.29
RE: getObject - Баг или фича?


15-1297276708
GanibalLector
2011-02-09 21:38
2011.05.29
Распознавание рукописных цифр.




   Наверх