|
получить id созданной записи
|
|||
---|---|---|---|
#18+
Привет всем! Интересует такой вопрос: - Forms 10 - блок на основе таблицы (с полями id, name , к примеру) - на канве поле name и кнопка Сохранить - в базе, на таблице висит триггер, Before Insert/Update, где поле id автоматом заполняется из сиквенса. Вопрос. Как, при нажатии кнопки Сохранить, или где в триггере на форме, например on-commit, проверить и выдать сообщение, что мол, сохранение прошло успешно, и самое главное, id, создавшейся записи узнать/получить? Спасибо. ... |
|||
:
Нравится:
Не нравится:
|
|||
11.06.2014, 16:00 |
|
получить id созданной записи
|
|||
---|---|---|---|
#18+
чучундра, проверить и выдать сообщение, что мол, сохранение прошло успешно - в триггере POST-DATABASE-COMMIT, выдавай сообщение; как вариант: если есть возможность то подправить триггер, чтоб если id is null тогда он присваивал значение, иначе оставлял то, которое пришло из формосв, в формсах в триггере PRE-INSERT присвоить новое значение из той же секвенции id := seq.nextval т.о. ты будешь знать id до вставки. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.06.2014, 07:17 |
|
получить id созданной записи
|
|||
---|---|---|---|
#18+
чучундра, Смотри свойство блока "DML Returning Value" со значением "Yes" ... |
|||
:
Нравится:
Не нравится:
|
|||
16.06.2014, 10:34 |
|
получить id созданной записи
|
|||
---|---|---|---|
#18+
OldBoyOdeSuпроверить и выдать сообщение, что мол, сохранение прошло успешно - в триггере POST-DATABASE-COMMIT, выдавай сообщение; как вариант: если есть возможность то подправить триггер, чтоб если id is null тогда он присваивал значение, иначе оставлял то, которое пришло из формосв, в формсах в триггере PRE-INSERT присвоить новое значение из той же секвенции id := seq.nextval т.о. ты будешь знать id до вставки. с этим всё ясно, интересует вариант без вставки id в формах.. OldBoyOdeSuСмотри свойство блока "DML Returning Value" со значением "Yes" ок, поставил Yes, откуда/где брать возвращаемые значения? ... |
|||
:
Нравится:
Не нравится:
|
|||
16.06.2014, 12:30 |
|
получить id созданной записи
|
|||
---|---|---|---|
#18+
.. ещё в справке по "DML Returning .." сказано: "Forms uses the DML Returning clause only with an Oracle8 database server. This property is ignored when using a non-Oracle8 server." Как быть с базой 11 версии? ... |
|||
:
Нравится:
Не нравится:
|
|||
16.06.2014, 12:39 |
|
получить id созданной записи
|
|||
---|---|---|---|
#18+
чучундра, DML Returning clause only with an Oracle8 or later database У нас все блоки на процедурах, но предположу, что прям в id поле и возвратится Then this property is set to Yes, Forms will automatically update the client-side version of the data , and the user will not need to re-query the database to obtain the changed values. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.06.2014, 13:36 |
|
получить id созданной записи
|
|||
---|---|---|---|
#18+
чучундраок, поставил Yes, откуда/где брать возвращаемые значения? Ну так в поле id и бери. Установка этого свойства заставляет Формс генерировать следующую команду INSERT (если нет триггера ON-INSERT): Код: plsql 1. 2. 3. 4. 5. 6. 7. 8.
Фраза RETURNING появилась в СУБД Oracle в 8-й версии. Отсюда и ограничение. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.06.2014, 21:23 |
|
получить id созданной записи
|
|||
---|---|---|---|
#18+
Павел ЛузановФраза RETURNING появилась в СУБД Oracle в 8-й версии. Отсюда и ограничение. Точнее, в 8i (8.1). В 8.0 еще не было ... |
|||
:
Нравится:
Не нравится:
|
|||
17.06.2014, 09:07 |
|
получить id созданной записи
|
|||
---|---|---|---|
#18+
Спасибо всем за участие. Оставил вариант как было (id присваевается в формах).. А вот по поводу проверки на "успешное сохранение", тут как я понял несколько решений, какие Вы используете, - я сделал на триггере формы ON-MESSAGE, если MESSAGE_CODE=40400, то сообщение об "успехе". Есть смотрю Form_Success, но это как я понял проверка на заполнение данных форм? ... |
|||
:
Нравится:
Не нравится:
|
|||
17.06.2014, 09:54 |
|
|
start [/forum/moderation_log.php?user_name=i_dan]: |
0ms |
get settings: |
7ms |
get forum list: |
15ms |
get settings: |
12ms |
get forum list: |
14ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
50ms |
get topic data: |
17ms |
get forum data: |
2ms |
get page messages: |
53ms |
get tp. blocked users: |
2ms |
others: | 632ms |
total: | 812ms |
0 / 0 |