Wie schreibe ich einen Oracle-Trigger?
Jan 25, 2022 pm 12:07 PMIn Oracle führt ein Trigger automatisch eine definierte Anweisung aus, wenn die angegebene Bedingung erfüllt ist. Sie wird als ?Erstellen [oder ersetzen] Tigger-Triggername, Triggerzeit, Triggerereignis für Tabellenname [für jede Zeile] begin pl/sql Statement end“ geschrieben ".
Die Betriebsumgebung dieses Tutorials: Windows 10-System, Oracle 11g-Version, Dell G3-Computer.
So schreiben Sie einen Oracle-Trigger
1. Einführung in Trigger
Die Definition eines Triggers bedeutet, dass die im Trigger definierte Anweisung automatisch ausgeführt wird, wenn eine bestimmte Bedingung erfüllt ist.
Der Trigger muss also nicht manuell aufgerufen werden und kann nicht aufgerufen werden.
Dann werden die Ausl?sebedingungen des Triggers tats?chlich festgelegt, wenn Sie ihn definieren.
Hier muss erkl?rt werden, dass Trigger in Trigger auf Anweisungsebene und Trigger auf Zeilenebene unterteilt werden k?nnen.
Eine detaillierte Einführung finden Sie in den Online-Informationen. Einfach ausgedrückt k?nnen Trigger auf Anweisungsebene vor oder nach der Ausführung bestimmter Anweisungen ausgel?st werden. Trigger auf Zeilenebene werden einmal ausgel?st, wenn sich die Zeilendaten in der definierten Triggertabelle ?ndern.
Spezifische Beispiele:
1. Ein in einer Tabelle definierter Trigger auf Anweisungsebene. Wenn die Tabelle gel?scht wird, führt das Programm automatisch den im Trigger definierten Vorgang aus. Dies bedeutet, dass der Vorgang des L?schens der Tabelle die Bedingung für die Ausführung des Triggers ist.
2. Wenn in einer Tabelle ein Trigger auf Zeilenebene definiert ist, wird der Trigger automatisch ausgeführt, wenn sich eine Datenzeile in der Tabelle ?ndert, beispielsweise wenn eine Zeile mit Datens?tzen gel?scht wird.
2. Trigger-Syntax
Trigger-Syntax:
create [or replace] tigger 觸發(fā)器名 觸發(fā)時(shí)間 觸發(fā)事件 on 表名 [for each row] begin pl/sql語(yǔ)句 end
Unter ihnen:
Trigger-Name: der Name des Trigger-Objekts. Da der Trigger automatisch von der Datenbank ausgeführt wird, ist der Name nur ein Name und hat keinen wirklichen Zweck.
Triggerzeit: Gibt an, wann der Trigger ausgeführt wird. Der Wert ist verfügbar:
before: gibt an, dass der Trigger vor der Datenbankaktion ausgeführt wird;
after: gibt an, dass der Trigger nach ausgeführt wird Datenbankaktion.
Trigger-Ereignis: Geben Sie an, welche Datenbankaktionen diesen Trigger ausl?sen:
Einfügen: Datenbankeinfügung l?st diesen Trigger aus;
Update: Datenbank?nderung l?st diesen Trigger aus;
L?schen: Datenbankl?schung l?st diesen Ausl?ser aus.
Tabellenname: Die Tabelle, in der sich der Datenbanktrigger befindet.
für jede Zeile: Führen Sie den Trigger einmal für jede Zeile der Tabelle aus. Ohne diese Option wird es nur einmal für die gesamte Tabelle ausgeführt.
Trigger k?nnen die folgenden Funktionen erfüllen:
1. ?nderungen an der Tabelle zulassen/einschr?nken
2. Erzwingen Sie die Datenkonsistenz 4, Bereitstellung von Auditing und Protokollierung
5. Verhindern Sie die Verarbeitung ungültiger Transaktionen
Beispiel
1), der folgende Trigger wird vor der Aktualisierung der Tabelle tb_emp ausgel?st, mit dem Zweck, keine ?nderungen an Wochenenden zuzulassen Tabelle:
create or replace trigger auth_secure before insert or update or DELETE on tb_emp begin IF(to_char(sysdate,'DY')='星期日') THEN RAISE_APPLICATION_ERROR(-20600,'不能在周末修改表tb_emp'); END IF; END; /
2), verwenden Sie Trigger, um die automatische Erh?hung der Seriennummer zu implementieren.
Erstellen Sie eine Testtabelle:
create table tab_user( id number(11) primary key, username varchar(50), password varchar(50) );
Erstellen Sie eine Sequenz:
Kopieren Sie den Code. Der Code lautet wie folgt:
create sequence my_seq increment by 1 start with 1 nomaxvalue nocycle cache 20;
Erstellen Sie einen Trigger:
CREATE OR REPLACE TRIGGER MY_TGR BEFORE INSERT ON TAB_USER FOR EACH ROW--對(duì)表的每一行觸發(fā)器執(zhí)行一次 DECLARE NEXT_ID NUMBER; BEGIN SELECT MY_SEQ.NEXTVAL INTO NEXT_ID FROM DUAL; :NEW.ID := NEXT_ID; --:NEW表示新插入的那條記錄 END;
In die Tabellendaten einfügen:
insert into tab_user(username,password) values('admin','admin'); insert into tab_user(username,password) values('fgz','fgz'); insert into tab_user(username,password) values('test','test'); COMMIT;
Abfragetabellenergebnisse: SELECT * FROM TAB_USER;
Empfohlenes Tutorial: ?
Oracle Video Tutorial“
Das obige ist der detaillierte Inhalt vonWie schreibe ich einen Oracle-Trigger?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Hei?e KI -Werkzeuge

Undress AI Tool
Ausziehbilder kostenlos

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Clothoff.io
KI-Kleiderentferner

Video Face Swap
Tauschen Sie Gesichter in jedem Video mühelos mit unserem v?llig kostenlosen KI-Gesichtstausch-Tool aus!

Hei?er Artikel

Hei?e Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Befolgen Sie die folgenden Schritte, um MySQL sicher und gründlich zu deinstallieren und alle Restdateien zu reinigen: 1. MySQL Service; 2. MySQL -Pakete deinstallieren; 3.. Konfigurationsdateien und Datenverzeichnisse; 4. überprüfen Sie, ob die Deinstallation gründlich ist.

Oracle ist nicht nur ein Datenbankunternehmen, sondern auch ein führender Anbieter von Cloud -Computing- und ERP -Systemen. 1. Oracle bietet umfassende L?sungen von der Datenbank bis zu Cloud -Diensten und ERP -Systemen. 2. Oraclecloud fordert AWS und Azure heraus und liefert IaaS-, PaaS- und SaaS -Dienste. 3. ERP-Systeme von Oracle wie E-Businesssuite und Fusion Applications helfen Unternehmen dabei, den Betrieb zu optimieren.

MongoDB ist für unstrukturierte Daten und hohe Skalierbarkeitsanforderungen geeignet, w?hrend Oracle für Szenarien geeignet ist, die eine strenge Datenkonsistenz erfordern. 1. MongoDB speichert Daten flexibel in verschiedenen Strukturen, die für soziale Medien und das Internet der Dinge geeignet sind. 2. Oracle Structured Data Modell sorgt für die Datenintegrit?t und eignet sich für Finanztransaktionen. 3.MongoDB skaliert horizontal durch Scherben, und Oracle skaliert vertikal durch RAC. 4.MongoDB hat niedrige Wartungskosten, w?hrend Oracle hohe Wartungskosten aufweist, aber vollst?ndig unterstützt wird.

Zusammenfassung des ersten Absatzes des Artikels: Bei der Auswahl von Software zur Entwicklung von YI -Framework -Anwendungen müssen mehrere Faktoren berücksichtigt werden. W?hrend native Tools für mobile Anwendungsentwicklung wie Xcode und Android Studio eine starke Kontrolle und Flexibilit?t bieten k?nnen, werden plattformübergreifende Frameworks wie React Native und Flutter immer beliebter, da die Vorteile der Bereitstellung gleichzeitig auf mehreren Plattformen gleichzeitig eingesetzt werden k?nnen. Für Entwickler, die in der mobilen Entwicklung neu sind, k?nnen Niedrigcode- oder No-Code-Plattformen wie Appsheet und Glide schnell und einfach Anwendungen erstellen. Darüber hinaus vergr??ern Cloud -Dienstanbieter wie AWS und Firebase umfassende Tools

Der Hauptunterschied zwischen MySQL und Oracle sind Lizenzen, Funktionen und Vorteile. 1. Lizenz: MySQL bietet eine GPL -Lizenz für die kostenlose Verwendung, und Oracle nimmt eine propriet?re Lizenz an, die teuer ist. 2. Funktion: MySQL hat einfache Funktionen und eignet sich für Webanwendungen und kleine und mittelgro?e Unternehmen. Oracle hat leistungsstarke Funktionen und eignet sich für gro?e Daten und komplexe Unternehmen. 3. Vorteile: MySQL ist open Source -kostenlos, für Startups geeignet und Oracle ist zuverl?ssig in der Leistung, geeignet für gro?e Unternehmen.

Der Unterschied zwischen MySQL und Oracle in Bezug auf Leistung und Skalierbarkeit ist: 1. MySQL ist bei kleinen bis mittleren Datens?tzen besser funktioniert, geeignet für schnelles Skalieren und effizientes Lesen und Schreiben; 2. Oracle hat mehr Vorteile bei der Behandlung gro?er Datens?tze und komplexer Abfragen, die für eine hohe Verfügbarkeit und komplexe Gesch?ftslogik geeignet sind. MySQL erstreckt sich über Master-Sklaven-Replikationen und Sharding-Technologien, w?hrend Oracle eine hohe Verfügbarkeit und Skalierbarkeit durch RAC erzielt.

MySQL verwendet GPL- und Commercial -Lizenzen für kleine und Open -Source -Projekte. Oracle verwendet kommerzielle Lizenzen für Unternehmen, die eine hohe Leistung erfordern. Die GPL -Lizenz von MySQL ist kostenlos, und die Gesch?ftslizenzen erfordern eine Zahlung. Die Oracle -Lizenzgebühren werden basierend auf Prozessoren oder Benutzern berechnet, und die Kosten sind relativ hoch.

In verschiedenen Anwendungsszenarien h?ngt die Auswahl von MongoDB oder Oracle von bestimmten Anforderungen ab: 1) Wenn Sie eine gro?e Menge unstrukturierter Daten verarbeiten müssen und keine hohen Anforderungen an die Datenkonsistenz haben, w?hlen Sie MongoDB. 2) Wenn Sie strenge Datenkonsistenz und komplexe Abfragen ben?tigen, w?hlen Sie Oracle.
