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

Вниз

Триггер в FireBird   Найти похожие ветки 

 
Knight ©   (2012-05-02 15:20) [40]


> Хотя, странно это - зачем триггер создавать из своей программы?


Прога с базой embedded, если базы нет генерю чистую при первом запуске.


 
Knight ©   (2012-05-02 15:24) [41]


> надо поставить Query.ParamCheck = False

И ещё Query.Params.Clear; Спасибо! Ошибка пропала :)


 
Труп Васи Доброго ©   (2012-05-02 15:29) [42]

Совсем запутал! Это тебе кто сообщение об ошибке выдаёт? И Когда выдаёт?
з.Ы. Вынеси UPDATE "за скобки"

Query.SQL.Text:="CREATE TRIGGER AU_NOTE FOR tNote "
                   +"  ACTIVE AFTER INSERT OR UPDATE OR DELETE "
                   +"AS "
                   +"DECLARE variable vID INTEGER; "
                   +"DECLARE variable vStatus INTEGER; "
                   +"BEGIN "
                   +" IF (DELETING) THEN "
                   +"   vID=Old.fParentID; "
                   +" ELSE "
                   +"   vID=New.fParentID; "
                   +" IF (vID>0) THEN "
                   +" BEGIN "
                   +"  IF (NOT (EXISTS(SELECT 1 FROM tNote WHERE fParentID=:vID AND fStatus<>1))) THEN "
                   +"     vStatus=1; "
                   +"  ELSE "
                   +"   IF (NOT (EXISTS(SELECT 1 FROM tNote WHEREfParentID=:vID AND fStatus<>4))) THEN "
                   +"     vStatus=4; "
                   +"   ELSE "
                   +"    IF (EXISTS(SELECT 1 FROM tNote WHERE fParentID=:vID AND (fStatus=3 OR fStatus=4))) THEN "
                   +"    vStatus=3; "
                   +"    ELSE "
                   +"     vStatus=2; "
                   +" END "
                   +" UPDATE tNote SET fStatus=:vStatus WHERE fID=:vID; "
                   +"END";


 
Труп Васи Доброго ©   (2012-05-02 15:32) [43]

Мой вариант будет работать всегда, твой только в том случае, если никто никогда и никак не захочет изменить непосредственно статус "родителя". Что лучше - решать тебе.


 
Knight ©   (2012-05-02 15:44) [44]


> изменить непосредственно статус "родителя"

Изменение статуса родителя из программы недоступно.


 
Knight ©   (2012-05-02 15:45) [45]


> Труп Васи Доброго

Я твой вариант сохранил на всякий :)


 
Труп Васи Доброго ©   (2012-05-02 15:56) [46]


> Изменение статуса родителя из программы недоступно.

Я тоже раньше был такой наивный. Запомни, всегда найдётся какая-нибудь .адла "умная", которая залезет в базу в обход программы и поковыряется.
Да и если вдруг база будет использоваться другими программами (написанными не тобой), то там такой защиты может не быть.
ИМХО всё что можно перенести в базу должно быть перенесено. Программа должна только запрашивать готовый результат или передавать базе данные для внесения/изменения, но сама ничего делать в базе не должна, это работа СУБД.


 
Knight ©   (2012-05-02 16:05) [47]


> Труп Васи Доброго ©   (02.05.12 15:56) [46]

Это диплом. Практической ценности (кроме меня - т.к. пишу для себя) не несёт. Весь смысл, защитить его как-нибудь и пользоваться самому, т.к. органайзер вроде надо, но из готового ничего не подобрал либо не то, либо слишком наворочено :)


 
oldman ©   (2012-05-03 12:23) [48]


> Это диплом. Практической ценности (кроме меня - т.к. пишу
> для себя) не несёт.


Пишешь диплом для себя?
Ого!!!


 
Anatoly Podgoretsky ©   (2012-05-03 12:28) [49]

> oldman  (03.05.2012 12:23:48)  [48]

А новых студентов принимают?


 
Knight ©   (2012-05-03 20:40) [50]


> Пишешь диплом для себя?

Я 1с занимаюсь, тем подходящих небыло. Выбрал что самому пригодится.



Страницы: 1 2 вся ветка

Текущий архив: 2013.03.22;
Скачать: CL | DM;

Наверх




Память: 0.56 MB
Время: 0.097 c
15-1343313724
waveOutXXX
2012-07-26 18:42
2013.03.22
Как правильно работать с waveOutXXX?


2-1331555750
Evgeniy
2012-03-12 16:35
2013.03.22
Сортировка "пузырьком"


2-1346416774
Bolg
2012-08-31 16:39
2013.03.22
На что указывает указатель?


4-1259019636
SPeller
2009-11-24 02:40
2013.03.22
Внедрение кода в другой поток. Замечания, дополнения, критика


8-1227817299
nuflin
2008-11-27 23:21
2013.03.22
Формат файла *smd