Beispiel für CREATE OR ALTER TRIGGER
CREATE OR ALTER TRIGGER set_cust_no
ACTIVE BEFORE INSERT ON customer POSITION 0
AS
BEGIN
IF (NEW.cust_no IS NULL) THEN
NEW.cust_no = GEN_ID(cust_no_gen, 1);
END
CREATE OR ALTER TRIGGER
CREATE OR ALTER TRIGGER set_cust_no
ACTIVE BEFORE INSERT ON customer POSITION 0
AS
BEGIN
IF (NEW.cust_no IS NULL) THEN
NEW.cust_no = GEN_ID(cust_no_gen, 1);
END
DROP TRIGGER
Löschen eines vorhandenen Triggers
DSQL, ESQL
DROP TRIGGER trigname
Parameter | Beschreibung |
---|---|
trigname |
Triggername |
Die Anweisung DROP TRIGGER
verwirft (löscht) einen vorhandenen Trigger.
DML-Trigger können gelöscht werden durch:
Der Besitzer der Tabelle (oder Ansicht)
Benutzer mit dem ALTER ANY TABLE
- oder — für eine Ansicht — ALTER ANY VIEW
-Privileg
Datenbank- und DDL-Trigger können gelöscht werden durch:
Benutzer mit dem ALTER DATABASE
-Privileg
DROP TRIGGER
set_cust_no
DROP TRIGGER set_cust_no;
RECREATE TRIGGER
Erstellen eines neuen Triggers oder Neuerstellen eines vorhandenen Triggers
DSQL
RECREATE TRIGGER trigname
{ <relation_trigger_legacy>
| <relation_trigger_sql2003>
| <database_trigger>
| <ddl_trigger> }
{<psql_trigger> | <external-module-body>}
!! Vgl. auch die Syntax CREATE TRIGGER
für weitere Regeln !!
Die Anweisung RECREATE TRIGGER
erstellt einen neuen Trigger, wenn kein Trigger mit dem angegebenen Namen existiert;andernfalls versucht die Anweisung RECREATE TRIGGER
, den vorhandenen Trigger zu löschen und einen neuen zu erstellen.Die Operation schlägt bei COMMIT
fehl, wenn der Trigger verwendet wird.
Warning
|
Beachten Sie, dass Abhängigkeitsfehler erst in der |
RECREATE TRIGGER
Erstellen oder erneutes Erstellen des Triggers set_cust_no
.
RECREATE TRIGGER set_cust_no
ACTIVE BEFORE INSERT ON customer POSITION 0
AS
BEGIN
IF (NEW.cust_no IS NULL) THEN
NEW.cust_no = GEN_ID(cust_no_gen, 1);
END