Auslöser erstellen

Gehen Sie wie folgt vor, um in Cview einen Auslöser zu erstellen:

Auf der rechten Seite wird das Fenster "Auslöser" angezeigt.

Auf den Registerseiten des Fensters "Auslöser" können Sie eine Auslöserdefinition erstellen.

Registerseite "Auslöser"

  1. Geben Sie im Feld Name einen Namen für den Auslöser ein.
  2. Wählen Sie im Feld Schema ein Schema aus. Sie können jedes Schema mit Ausnahme von SYS auswählen.
  3. Wählen Sie im Feld Ereignis die Aktion für den Auslöser aus:
  4. Wählen Sie im Feld Auslösezeit aus, ob der Auslöser VOR oder NACH dem Ereignis gestartet werden soll.
  5. Wählen Sie im Feld Tabelle die Tabelle aus, auf die der Auslöser angewendet werden soll.
  6. Geben Sie im Feld Auslöseraktion die Anweisung an, die der gestartete Auslöser ausführen soll. Die Auslöseraktion kann jede gültige SQL-J-Anweisung, d. h. auch eine Anweisung mit Java-Methodenaufrufen, sein. Beispiel:

    UPDATE CustomizedTours SET getTotalCost =
    customized_tour::getTotalCost()

    ANMERKUNG: Die Auslöseraktion kann sich auf Datenbankobjekte in anderen Tabellen als der in Schritt 5 angegebenen Tabelle beziehen. Wird jedoch eines dieser Datenbankobjekte gelöscht, wird der Auslöser für ungültig erklärt.

    ANMERKUNG: Für eine Auslöseraktion gelten Einschränkungen. Sie darf beispielsweise keine dynamischen Parameter enthalten und die Tabelle, für die der Auslöser definiert ist, weder ändern noch löschen. Eine vollständige Liste der Einschränkungen finden Sie im Cloudscape Developer's Guide.

Registerseite "Optionen"

Auf der Registerseite Optionen können Sie bei Bedarf Referenzierungsinformationen für den Auslöser angeben. Referenzierungsinformationen werden Sie in der Regel angeben, wenn sich der Auslöser auf Daten bezieht, die gerade durch das Datenbankereignis, das den Auslöser gestartet hat, geändert werden. Es kann sein, dass sich der Auslöser auf die alten Werte (vor der Änderung) oder die neuen Werte (nach der Änderung) beziehen muss.

  1. Wenn das qualifizierende Ereignis eine UPDATE-Klausel ist, wird oben auf der Registerseite Optionen eine Liste der Spalten in der betroffenen Tabelle angezeigt. Wählen Sie aus, welche Spalten bei Aktualisierung den Auslöser starten sollen. (Falls Sie mehrere Spalten auswählen möchten, halten Sie beim Klicken oder Auswählen mit den Pfeiltasten die Umschalttaste gedrückt.)
  2. Geben Sie bei Bedarf im Feld Referenzierung OLD oder NEW als Übergangsvariable an. Dieser Wert wird verwendet, wenn eine Auslöseraktion sich auf die vom qualifizierenden Ereignis betroffene Tabelle oder Zeile beziehen muss. Geben Sie OLD an, wenn Bezug auf die Tabellen- oder Zeilenwerte vor der Änderung genommen werden soll. Geben Sie NEW an, wenn Bezug auf die Tabellen- oder Zeilenwerte nach der Änderung genommen werden soll.

    ANMERKUNG: INSERT-Auslöser für Zeilen oder Tabellen können sich nicht auf eine alte Zeile oder Tabelle (OLD) beziehen. DELETE-Auslöser für Zeilen oder Tabellen können nicht Bezug auf eine neue Zeile oder Tabelle (NEW) nehmen.

    ANMERKUNG: Die Schritte 3 bis 5 sind nur auszuführen, wenn Sie einen Wert für dieses Feld angeben.

  3. Wählen Sie im Feld Referenztyp aus, ob eine alte oder neue Zeile (ROW) oder Tabelle (TABLE) referenziert wird.
  4. Geben Sie im Feld Referenzieren als bei Bedarf einen Aliasnamen oder Korrelationsnamen für die Übergangsvariable NEW oder OLD an. Sie können einen eigenen Aliasnamen angeben oder die Standardbezeichnung AREFERENCE übernehmen.

    Geben Sie für "Referenzieren als" einen Wert an, wenn Sie die Standardvariablennamen OLD und NEW nicht verwenden möchten. Wenn beispielsweise eine DELETE-Operation einen Zeilenauslöser startet, der sich auf alte Werte (OLD) bezieht, könnten Sie an Stelle von `OLD' den Aliasnamen DELETEDROW angeben. DELETEDROW könnten Sie dann in der Anweisung für die Auslöseaktion angeben.

  5. Wählen Sie im Feld Für jede aus, ob dies ein Zeilenauslöser oder ein Anweisungsauslöser ist.
  6. Unten auf der Registerseite Optionen können Sie den Auslöser aktivieren oder inaktivieren, indem Sie den Eintrag Auslöser aktivieren markieren oder die Markierung für den Eintrag löschen. Standardmäßig ist der Auslöser aktiviert.

Registerseite "SQL"

Auf der Registerseite SQL werden der Text für das Erstellen des Auslösers sowie eine Anweisung für das Aktivieren oder Inaktivieren des Auslösers und die Anweisung für das Löschen des Auslösers angezeigt.