[db][firebird] modyfikowanie triggera

0

tworzenie triggerow to nie problem
problem mi sie pojawil jak musze zmodyfikowac istniejacy trigger - chodzi o dodanie kawalku kodu

jak to sie robi - moge prosic o info?

dzieki

0

zamiast

CREATE TRIGGER nazwa_wyzwalacza FOR nazwa_tabeli
ACTIVE ...

dajesz

ALTER TRIGGER nazwa_wyzwalacza
ACTIVE ...

0

ok czaje ale chce by zawartosc trigera miedzy begin i end byla ta sama (ktora moze sie zmieniac i nie znam jej na dana chwile) zwiekszona o jedna linie kodu
przyklad

CREATE TRIGGER nazwa_trigg FOR tabela
ACTIVE BEFORE INSERT
POSITION 0
AS
BEGIN
IF (NEW.ID=1) THEN NEW.ID = GEN_ID( 1_GEN , 1 );
IF (NEW.ID=2) THEN NEW.ID = GEN_ID( 2_GEN , 1 );
END

i chce dodac nowego if'a a w danym momencie nie wiem ile jest if'ow
czyli

CREATE TRIGGER nazwa_trigg
ACTIVE BEFORE INSERT
POSITION 0
AS
BEGIN
/* tutaj tresc starego triggera + nowy if */
IF (NEW.ID=n) THEN NEW.ID = GEN_ID( n_GEN , 1 );
END

nie wiem jak zrobic by robiac alter trigger w ciele znajdowal sie caly kod starego triggera

0
guzial napisał(a)

nie wiem jak zrobic by robiac alter trigger w ciele znajdowal sie caly kod starego triggera
nie da się tego tak zrobić - musisz znać ciało wyzwalacza
swoją drogą jeśli masz takie wymagania to coś jest nie chalo z samym projektem bazy

0

aha czyli nie da sie tego zrobic sqlem
wiec rozwiaze sobie to programowo - bede go generowal w Delphi :)
dzieki za pomoc misiekd ;)

0

Chwilunia... Jak to sie nie da? Nie chce tu bluznic bo na tyle MySQL-a nie znam, ale tak na 99% to to musi byc gdzies w slownikach bazy, a skoro juz jest to tylko trzeba wiedziec gdzie. Wtedy SELECT z tabeli w ktorej znajduje sie cialo i jestesmy w domu. Tak jest w MSSQL, Oracle i innych bazach. Przeciez programy do zazadzania baza pobieraja sobie te dane, prawda?

// Edit

SHOW TRIGGERS
lub
http://dev.mysql.com/doc/refman/5.0/en/triggers-table.html

1 użytkowników online, w tym zalogowanych: 0, gości: 1