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

Новые сообщения [новые:0]
Дайджест
Горячие темы
Избранное [новые:0]
Форумы
Пользователи
Статистика
Статистика нагрузки
Мод. лог
Поиск
|
|
13.03.2007, 14:34
|
|||
|---|---|---|---|
триггер на вставку, как запретить вставку записи не удовлетворяющей условию? |
|||
|
#18+
Нужно задать для таблицы следующее условие: значение вставляемое в поле VP.CODE_VP должно содержаться в поле KBK таблицы SP_VP(которая собственно и создана для проверки допустимости вставляемых в таблицу VP значений). Если это условие не выполняется, то данная запись не должна быть вставлена. Для проверки решил создать триггер. Код: plaintext 1. 2. 3. 4. 5. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
13.03.2007, 14:42
|
|||
|---|---|---|---|
|
|||
триггер на вставку, как запретить вставку записи не удовлетворяющей условию? |
|||
|
#18+
SIGNAL SQSTATE ... http://publib.boulder.ibm.com/infocenter/db2luw/v8/topic/com.ibm.db2.udb.doc/admin/r0004232.htm при этом выбрасывается исключение. Если надо отвергать "тихо", можно сделать VIEW (чтобы вставлять в него) и на него повесить триггер INSTEAD, где и принимать решение о вставке в собственно таблицу. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
13.03.2007, 15:07
|
|||
|---|---|---|---|
|
|||
триггер на вставку, как запретить вставку записи не удовлетворяющей условию? |
|||
|
#18+
Код: plaintext 1. 2. 3. Кстати, ведь можно и просто FOREIGN KEY описать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
13.03.2007, 16:30
|
|||
|---|---|---|---|
триггер на вставку, как запретить вставку записи не удовлетворяющей условию? |
|||
|
#18+
Victor MetelitsaКстати, ведь можно и просто FOREIGN KEY описать.Да, на самом деле достаточно FOREIGN KEY. Спасибо! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
13.03.2007, 16:46
|
|||
|---|---|---|---|
триггер на вставку, как запретить вставку записи не удовлетворяющей условию? |
|||
|
#18+
Всё же хочется до конца разобраться с триггером. Выдаёт ошибку: Код: plaintext 1. Подозреваю, что дело в этом Код: plaintext 1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
13.03.2007, 17:16
|
|||
|---|---|---|---|
триггер на вставку, как запретить вставку записи не удовлетворяющей условию? |
|||
|
#18+
To Viktor: А ссылку не дадите по поводу подобного использования view? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
14.03.2007, 08:02
|
|||
|---|---|---|---|
|
|||
триггер на вставку, как запретить вставку записи не удовлетворяющей условию? |
|||
|
#18+
XEugeneВсё же хочется до конца разобраться с триггером. Выдаёт ошибку: Код: plaintext 1. Подозреваю, что дело в этом Код: plaintext 1. Да, http://publib.boulder.ibm.com/infocenter/db2luw/v8/topic/com.ibm.db2.udb.doc/admin/r0000931.htm ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
14.03.2007, 08:14
|
|||
|---|---|---|---|
|
|||
триггер на вставку, как запретить вставку записи не удовлетворяющей условию? |
|||
|
#18+
TORTTo Viktor: А ссылку не дадите по поводу подобного использования view? Я такое видел в одной чужой системе на Oracle. Для каждой таблицы T они делали CREATE VIEW VT AS SELECT * FROM T. Из клиентских программ обращались только ко view, а не к таблицам. Понятно, что в общем случае таким view триггеры не нужны, поскольку они updateable. При нужде же для VT писались триггеры INSTEAD OF (UPDATE или DELETE или INSERT) Код: plaintext 1. 2. 3. 4. 5. Это широкоизвестный (для ораклистов) способ обхода проблем, связанных с тем, что таблица "мутирует". Для DB2 в принципе тоже может быть полезным. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
14.03.2007, 09:12
|
|||
|---|---|---|---|
триггер на вставку, как запретить вставку записи не удовлетворяющей условию? |
|||
|
#18+
To Victor: Просто по терминам уточню... "Мутирует" - это значит изменяет свою структуру? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
14.03.2007, 10:06
|
|||
|---|---|---|---|
|
|||
триггер на вставку, как запретить вставку записи не удовлетворяющей условию? |
|||
|
#18+
Только содержимое ;-) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
14.03.2007, 10:10
|
|||
|---|---|---|---|
триггер на вставку, как запретить вставку записи не удовлетворяющей условию? |
|||
|
#18+
To Victor: Тогда если честно не понял, что за порблемы такие связанная с "мутацией"....:( Это как раз из разряда целостности и ограничений? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
14.03.2007, 10:19
|
|||
|---|---|---|---|
триггер на вставку, как запретить вставку записи не удовлетворяющей условию? |
|||
|
#18+
Большое спасибо, с триггером тоже всё получилось. Работает естественно совершенно идентично FOREIGN KEY, но выглядит более приятно за счёт того, что можно задать своё сообщение об ошибке :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
14.03.2007, 11:16
|
|||
|---|---|---|---|
триггер на вставку, как запретить вставку записи не удовлетворяющей условию? |
|||
|
#18+
Мысли вслух.... С внешним ключом БД на мой взгляд работает быстрее, чем с триггером.... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
14.03.2007, 11:40
|
|||
|---|---|---|---|
|
|||
триггер на вставку, как запретить вставку записи не удовлетворяющей условию? |
|||
|
#18+
В триггере такой-то таблицы пытаетесь обратиться к самой таблице - получаете ошибку "таблица мутирует". Обычное дело для Oracle, но при некоторых обстоятельствах можно получить аналогичное и на DB2. Триггер на VIEW позволяет обратиться до того, как таблица реально изменилась. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|

start [/forum/topic.php?fid=43&mobile=1&tid=1604729]: |
0ms |
get settings: |
11ms |
get forum list: |
14ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
75ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
58ms |
get tp. blocked users: |
1ms |
| others: | 234ms |
| total: | 410ms |

| 0 / 0 |
