Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2005.10.30;
Скачать: CL | DM;

Вниз

Задать триггер на ограничение количества записей   Найти похожие ветки 

 
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;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.029 c
1-1128876024
oleg_SYS
2005-10-09 20:40
2005.10.30
Помогите создать COM-объект


14-1128658480
MBo
2005-10-07 08:14
2005.10.30
Пятничные задачки. Сogito ergo sum.


2-1128877637
intel
2005-10-09 21:07
2005.10.30
модули


3-1125466978
цук цук
2005-08-31 09:42
2005.10.30
Печать Rave Report


3-1126865844
V.I.P.er
2005-09-16 14:17
2005.10.30
Пароль на PARADOX7