Форум: "Базы";
Текущий архив: 2005.10.30;
Скачать: [xml.tar.bz2];
ВнизЗадать триггер на ограничение количества записей Найти похожие ветки
← →
REP © (2005-09-16 13:33) [0]Добрый день.
Пытаюсь ограничить количество записей в таблице базы данных.
Делаю триггер AFTER INSERT:
CREATE TRIGGER PREDPR_AI0 FOR PREDPR
ACTIVE AFTER INSERT POSITION 0
AS
begin
/* Trigger text */
IF (5<(SELECT Count(*) FROM PREDPR )) then
DELETE FROM predpr where ID=NEW.ID;
end
Пишет: Subselect illegal in this context.
Можно ли как то узнать количество записей в таблице из триггера? И сравнить их с каким то полем в другой таблице.
Естественно можно сделать вставку через хранимую процедуру и там проводить все проверки, но хотелось бы именно через триггер.
← →
Anatoly Podgoretsky © (2005-09-16 13:35) [1]Многие СУБД запрещают SELECT в тригере, как с этим у FireBird
← →
Desdechado © (2005-09-16 13:42) [2]FireBird - версионник, у него с SELECT"ом из триггеруемой таблицы нормально
а вот синтаксис у автора вообще ни в какие ворота, почитал бы Language Reference, что ли
ibase.ru
и я бы проверку ставил в BEFORE INSERT
и удалять ничего не надо, просто EXCEPTION подыми
← →
REP © (2005-09-16 13:56) [3]
> Desdechado © (16.09.05 13:42) [2]
Да я понимаю что удалять не надо, это я так попробовать, знаю что надо исключение поднимать. так быстрее показалось. Но все равно если писать
IF (5<(SELECT Count(*) FROM PREDPR )) then
что бы то ни было
ругается на SubSelect
← →
REP © (2005-09-16 13:57) [4]и в BEFORE INSERT тоже
← →
Johnmen © (2005-09-16 14:17) [5]
SELECT COUNT(*) FROM PREDPR INTO :YourVariable;
IF (5<YourVariable) then
← →
REP © (2005-09-16 14:22) [6]
> Johnmen © (16.09.05 14:17) [5]
Спасибо огромное
← →
Desdechado © (2005-09-16 15:33) [7]Johnmen © (16.09.05 14:17) [5]
зря с ложки кормишь, привыкнет
REP © (16.09.05 13:56) [3]
> Но все равно
А слона-то ты и не заметил. Читай Language Reference, чтоб не месить грязь руками, и других не заставлять приглядываться ...
← →
Johnmen © (2005-09-16 15:47) [8]>Desdechado © (16.09.05 15:33) [7]
У меня почему-то есть ощущение, что не привыкнет.
Да и не кормил разжёванным...:)
Страницы: 1 вся ветка
Форум: "Базы";
Текущий архив: 2005.10.30;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.046 c