powered by simpleCommunicator - 2.0.53     © 2025 Programmizd 02
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / not exists в триггере bug???
10 сообщений из 10, страница 1 из 1
not exists в триггере bug???
    #39246227
HS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
HS
Гость
Друзья, подскажите, в чем я не прав.

Имею такой if в триггере after insert (Windows 7 64 bit, FB 3.0.0.32483 32 bit).

Код: plsql
1.
2.
if (not exists(select Key from SomeTable where ColumnA = new.ColumnA and ColumnB = new.ColumnB) or (<condition>) then
  blablabla



if не срабатывает. Проблема в первом условии. Игрался со скобками, использовал вместо Key "*", алиас для SomeTable и устал.
...
Рейтинг: 0 / 0
not exists в триггере bug???
    #39246229
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
HSif не срабатывает.
Как ты понял что не срабатывает?
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
not exists в триггере bug???
    #39246230
Фотография kdv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
HS,

в AFTER insert уже все произошло, и ColumnA = new.ColumnA. Так что запись уже существует, и NOT exists выдает false.
...
Рейтинг: 0 / 0
not exists в триггере bug???
    #39246231
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
HS,

триггеры бредовые писать не надо. Если триггер на таблицу SomeTable то ничего удивительного.
...
Рейтинг: 0 / 0
not exists в триггере bug???
    #39246232
HS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
HS
Гость
Код после if не выполняется. Еще лазил в отладчике в нелюбимом тобой оглупляторе.
...
Рейтинг: 0 / 0
not exists в триггере bug???
    #39246237
HS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
HS
Гость
Спасибо.
...
Рейтинг: 0 / 0
not exists в триггере bug???
    #39246240
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
HS,

ты сам то своё условие прочитал? Как может не существовать записи в таблице, если ты её только что вставил?
Это условие может сработать только в before insert. В любом случае контроль уникальности так лучше не делать.
...
Рейтинг: 0 / 0
not exists в триггере bug???
    #39246254
HS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
HS
Гость
Да. Что-то глаз замылился.
...
Рейтинг: 0 / 0
not exists в триггере bug???
    #39246260
Cobalt747
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
HS,

in autonomous transaction тебе в руки - я так свои триггеры отлаживал.
...
Рейтинг: 0 / 0
not exists в триггере bug???
    #39246262
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Cobalt747,

главное не забыть потом его удалить
...
Рейтинг: 0 / 0
10 сообщений из 10, страница 1 из 1
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / not exists в триггере bug???
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]