powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Другие СУБД [игнор отключен] [закрыт для гостей] / SELECT в триггее (ElevateDB)
1 сообщений из 1, страница 1 из 1
SELECT в триггее (ElevateDB)
    #37032898
TechnoDreamer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Пытаюсь написать триггер на удаление. База ElevateDB (кто не сталкивался, в принципе особо от SQL2003 вроде не отходит).

Мне нужно что бы триггер отрабатывал если в таблице больше нет записи таким же полем как в удаляемой записи.

Т.е. имеем таблицу:

Код: plaintext
1.
2.
CREATE TABLE "DepPictures" 
"ID" INTEGER GENERATED ALWAYS AS IDENTITY (START WITH  0 , INCREMENT BY  1 ), 
"SomeOtherID" INTEGER; 


В триггере нужно определять, если в этой таблице есть еще записи с таким же SomeOtherID, то делаем определенное действие.

Пытался так:
Код: plaintext
1.
2.
3.
4.
5.
CREATE TRIGGER "TrigAfterPictDelete" AFTER DELETE 
ON "DepPictures" 
WHEN 
EXISTS(SELECT * FROM DepPictures WHERE DepPictures.SomeOtherID=OLDROW.SomeOtherID) 
BEGIN 
END 

Пытался тоже самое в теле с помощью IF. В обоих случаях выдает ошибку:
Invalid expression "SomeOtherID" found, the column reference must be prefaced with a row identifier.

Тоже самое без WHERE выполняется:
Код: plaintext
1.
2.
3.
4.
5.
CREATE TRIGGER "TrigAfterPictDelete" AFTER DELETE 
ON "DepPictures" 
WHEN 
EXISTS(SELECT * FROM DepPictures) 
BEGIN 
END


Что я не так делаю? Или это вообще не возможно? Или может ограничение конкретной БД?
...
Рейтинг: 0 / 0
1 сообщений из 1, страница 1 из 1
Форумы / Другие СУБД [игнор отключен] [закрыт для гостей] / SELECT в триггее (ElevateDB)
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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