
Новые сообщения [новые:0]
Дайджест
Горячие темы
Избранное [новые:0]
Форумы
Пользователи
Статистика
Статистика нагрузки
Мод. лог
Поиск
|
|
09.04.2010, 17:54
|
|||
|---|---|---|---|
|
|||
Помощь новичку (insert) |
|||
|
#18+
Через Oracle Forms требуется занести в таблицу строчку. На формочке три текстовых поля и кнопка. В триггер WHEN-BUTTON-PRESSED ввожу следующее(специально только insert и больше ничего): -------------------------------------------------------- BEGIN insert into TABLE1 ("COL1", "COL2", "COL3") values (:TEXT_COL1, :TEXT_COL1, :TEXT_COL1); commit; END; -------------------------------------------------------- TABLE1 - вида: (ID, COL1, COL2, COL3) Для ввода ID использую триггер (уже в SQL Developer): ------------------------------------------------------------------------------- create or replace TRIGGER "NEW_T1_R" BEFORE INSERT ON TABLE1 FOR EACH ROW BEGIN SELECT SEQ_TABLE1.NEXTVAL INTO :new.ID FROM DUAL; END; -------------------------------------------------------------------------------- Запускаю форму, жму на кнопку - в таблицу добавляются сразу две записи, а не одна. Откуда! не могу разобраться, нужна помощь. С Forms вожусь только второй день, так что заранее извиняюсь за возможную глупость вопроса =) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
09.04.2010, 17:59
|
|||
|---|---|---|---|
|
|||
Помощь новичку (insert) |
|||
|
#18+
P.S. Использую Oracle Forms 6i. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
09.04.2010, 19:14
|
|||
|---|---|---|---|
|
|||
Помощь новичку (insert) |
|||
|
#18+
scor4er, Скорее всего блок формы, в котором определены эти текстовые поля, базируется на таблице table1. Поэтому при выполнении commit в триггере выполняется сохранение введенной записи штатными средствами forms-а. Плюс явный insert в триггере. Вот записи и двоятся. Варианты лечения: 1. В триггере оставить только commit; (в этом случае будет срабатывать штатная процедура вставки записи в таблицу) 2. На блоке формы создать триггер ON-INSERT, в котором прописать единственную команду null; (в этом случае штатная процедура работать не будет, а будет выполнятся вставка явной командой insert в триггере WHEN-BUTTON-PRESSED) 3. Гибридный вариант - перенести команду insert из WHEN-BUTTON-PRESSED в ON-INSERT. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|

start [/forum/topic.php?fid=51&tablet=1&tid=1878999]: |
0ms |
get settings: |
8ms |
get forum list: |
11ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
172ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
42ms |
get tp. blocked users: |
1ms |
| others: | 12ms |
| total: | 267ms |

| 0 / 0 |

Извините, этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
... ля, ля, ля ...