Autor Beitrag
raiha
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 152



BeitragVerfasst: Do 16.06.05 13:29 
Hi,

ich möchte in meiner Firebird DB (Version 1.5) einen Trigger machen der vor dem Einfügen also (before insert) prüft ob ein solcher DS (anhand von drei Spalten in der Tab zu indentifizieren) schon vorhanden ist.
Wenn ja soll er Ihn nicht einfügen. Wenn nein dann schon.

Wie muss ich sowas machen?

Danke Rainer
raiha Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 152



BeitragVerfasst: Fr 17.06.05 13:04 
So, habs endlich hinbekommen :-)

Für die dies interessiert hier die Lsg.

ausblenden Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
CREATE TRIGGER DOUBLE_TRIGGER FOR MeineTab
ACTIVE BEFORE INSERT POSITION 0
AS
DECLARE VARIABLE meineVAR INTEGER;
DECLARE VARIABLE COUNTER INTEGER;

begin
  meineVar = NEW.NR;
  
  SELECT COUNT(*) from MeineTab S
    where   S.NR = :meineVar
            INTO COUNTER;

  IF (COUNTER > 0) THEN
  BEGIN
    delete FROM MeineTab S
    where   S.NR = :meineVar;
  END
END


Vielleicht hilft es ja mal jehmandem

Tschüss Rainer