|
Создание триггера.
|
|||
---|---|---|---|
#18+
Здравствуйте. Начинаю писать триггеры. Хочу написать следующий триггер: при добавлении в таблицу ПТС такой строки, в которой будет совпадать ЛИБО VIN, ЛИБО Номер_ПТС, ЛИБО Государственный_знак с уже имеющимися в таблице, необходимо выдавать сообщение: Невозможно добавить строку! Непосредственно таблица: Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9.
Мои попытки создания триггера: Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16.
Код: plsql 1. 2. 3. 4. 5.
Понимаю, что в функции необходимо, скорее всего, использовать таблицу NEW и с ней как-то взаимодействовать, но как - тоже вопрос. ... |
|||
:
Нравится:
Не нравится:
|
|||
12.03.2017, 19:26 |
|
Создание триггера.
|
|||
---|---|---|---|
#18+
Ivan5252, Для начала почитать это Ivan5252использовать таблицу NEW это не таблица, это новые данные в вашем случае : Код: sql 1. 2. 3. 4. 5.
но вот как "выдавать сообщение" додумывайте сами :) ... |
|||
:
Нравится:
Не нравится:
|
|||
12.03.2017, 20:23 |
|
Создание триггера.
|
|||
---|---|---|---|
#18+
kira ivanov, я читал документацию, оттуда и узнал про NEW (и OLD). =) Изменил функцию, но по-прежнему не работает... Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16.
... |
|||
:
Нравится:
Не нравится:
|
|||
12.03.2017, 20:51 |
|
Создание триггера.
|
|||
---|---|---|---|
#18+
Ivan5252, Код: sql 1.
а не Код: sql 1.
и что в логе постгреса ? не понятно что значит "не работает" ... |
|||
:
Нравится:
Не нравится:
|
|||
12.03.2017, 21:17 |
|
Создание триггера.
|
|||
---|---|---|---|
#18+
kira ivanov, либо перечисление через OR надо как-то другим способом организовать, либо его здесь нельзя использовать ... |
|||
:
Нравится:
Не нравится:
|
|||
12.03.2017, 21:24 |
|
Создание триггера.
|
|||
---|---|---|---|
#18+
Ivan5252, кирилица в именовании столбцов... :( извините, но даже вникать не буду... завтра народ придет и помогут.... ошибка к тригерам никакого отношения не имеет ... |
|||
:
Нравится:
Не нравится:
|
|||
12.03.2017, 21:28 |
|
Создание триггера.
|
|||
---|---|---|---|
#18+
kira ivanov, спасибо, что откликнулись. Теперь при вводе корректных данных выскакивает сообщение: Невозможно добавить строку! ... |
|||
:
Нравится:
Не нравится:
|
|||
12.03.2017, 21:30 |
|
Создание триггера.
|
|||
---|---|---|---|
#18+
Ivan5252, Для проверки уникальности полей можно сделать уникальные индексы (3 штуки) — быстрее будет. ... |
|||
:
Нравится:
Не нравится:
|
|||
12.03.2017, 23:35 |
|
Создание триггера.
|
|||
---|---|---|---|
#18+
vyegorov, да тут скорее на разобраться пример был. Так как ограничение UNIQUE стоит. Оно и не даст в необходимых полях одинаковые значения ввести. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.03.2017, 01:06 |
|
Создание триггера.
|
|||
---|---|---|---|
#18+
vyegorov, возможно, вы это и имели ввиду=) ... |
|||
:
Нравится:
Не нравится:
|
|||
13.03.2017, 01:07 |
|
Создание триггера.
|
|||
---|---|---|---|
#18+
Один вопрос по триггерам, функция вызывается до или после экшена, можно это контролировать типа before или after? ... |
|||
:
Нравится:
Не нравится:
|
|||
13.03.2017, 23:36 |
|
|
start [/forum/topic.php?fid=53&fpage=77&tid=1996660]: |
0ms |
get settings: |
8ms |
get forum list: |
13ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
54ms |
get topic data: |
12ms |
get forum data: |
2ms |
get page messages: |
51ms |
get tp. blocked users: |
2ms |
others: | 14ms |
total: | 162ms |
0 / 0 |