Bearbeiten von Installationsskripten, die Trigger erstellen
Wenn Ihre Anwendung über einen BEFORE INSERT-Trigger in einer Quelltabelle verfügt und Sie Daten aus dieser Quelltabelle in die entsprechende neue Tabelle eingefügt haben, müssen Sie festlegen, ob der Trigger vor jeder INSERT-Anweisung in der Installationsskriptdatei Daten in die neue Tabelle eingefügt werden soll.
Beispiel: NEW_EVALUATION_TRIGGER (erstellt in "Tutorial: Trigger erstellen, der einen Primärschlüssel für eine Zeile generiert, bevor sie eingefügt wird") wird ausgelöst, bevor eine Zeile in die Tabelle EVALUATIONS eingefügt wird. Der Trigger generiert mit EVALUATIONS_SEQUENCE die eindeutige Nummer für den Primärschlüssel dieses Datensatzes.
Die Quelltabelle EVALUATIONS wird mit Primärschlüsseln ausgefüllt. Wenn das Installationsskript keine neuen Primärschlüsselwerte in die neue Tabelle EVALUATIONS aufnehmen soll, müssen Sie die Anweisung CREATE TRIGGER im Installationsskript wie folgt bearbeiten:
CREATE OR REPLACE
TRIGGER NEW_EVALUATION_TRIGGER
BEFORE INSERT ON EVALUATIONS
FOR EACH ROW
BEGIN
IF :NEW.evaluation_id IS NULL THEN
:NEW.evaluation_id := evaluations_sequence.NEXTVAL
END IF;
END;
Wenn der aktuelle Wert der Sequenz nicht größer als der Höchstwert in der Primärschlüsselspalte ist, müssen Sie sie größer machen.
Sie können das Installationsskript entweder im Arbeitsblatt oder in einem beliebigen Texteditor bearbeiten.
Die folgenden Schritte sind zwei Alternativen zum Bearbeiten des Installationsskripts:
-
Ändern sie die Triggerdefinition in der Quelldatei, und erstellen sie das Installationsskript dann neu.
Informationen zum Ändern von Triggern finden Sie unter "Ändern von Triggern".
-
Deaktivieren sie den Trigger, bevor sie das Skript für die Dateninstallation ausführen, und aktivieren sie ihn anschließend erneut.
Informationen zum Deaktivieren und Aktivieren von Triggern finden Sie unter "Trigger deaktivieren und aktivieren".
Siehe auch: "Trigger erstellen"