So deaktivieren Sie einen Abzug in Oracle

So deaktivieren Sie einen Abzug in Oracle

Datenbankauslöser oder kurze Auslöser finden Sie in gespeicherten Prozeduren, die als Antwort auf eine Ereignisaktivität in einem bestimmten Datenbankobjekt ausgeführt werden.

Dies unterscheidet sich von standardmäßigen gespeicherten Verfahren, die vom Benutzer explizit ein Aufruf erfordern. Da Trigger automatisiert sind, werden sie ausgelöst oder ausgelöst, wenn das angegebene Ereignis auftritt, unabhängig vom angeschlossenen Benutzer- oder Serverstatus.

Die meisten relationalen Datenbanken unterstützen die Verwendung von Triggern, um automatisierte Aufgaben auszuführen, z.

Sobald ein Trigger erstellt wurde, wird immer ausgeführt, wenn das zugehörige Ereignis auftritt. Möglicherweise möchten Sie jedoch vorübergehend oder dauerhaft verhindern, dass ein Abzug ausführt. Hier kommt der Abzugs -Deaktivierungsfunktion ins Spiel.

In diesem Beitrag werden die schnellen und einfachen Schritte zum Deaktivieren eines Auslösers in einer Oracle -Datenbank erläutert. Wenn Sie von Oracle Triggers neu sind und wissen möchten, wie Sie einen erstellen, überprüfen Sie den folgenden Link:

https: // linuxHint.com/oracle-create-Trigger

Erstellen eines Testauslösers

Bevor wir die Methoden zur Deaktivierung eines Auslösers diskutieren, lassen Sie uns einen Beispielauslöser für Demonstrationszwecke einrichten.

NOTIZ: In diesem Abschnitt wird nicht behandelt, wie die Datenbankauslöser definiert oder verwendet werden sollen.

Wir möchten einen Auslöser erstellen, der die Benutzeraktivität nach einem Löschvorgang protokolliert. Nehmen wir beispielsweise an, wir haben eine Sample_Data -Tabelle mit den Informationen wie gezeigt:

Wir müssen zunächst eine Tabelle erstellen, in der wir die Protokolle für jede Löschaktivität speichern.

Das Tischschema lautet wie folgt:

TABLE Sample_data_logs erstellen (
ID -Nummer,
First_Name VARCHAR2 (50),
ip_address varchar2 (20),
btc_address varchar2 (50),
Credit_card varchar2 (50),
Kennung varchar2 (40),
Datum delete_date,
deleted_by varchar2 (20)
);

Als nächstes müssen wir einen Auslöser definieren, der nach einem Löschereignis ausgeführt wird. Die Triggerdefinition wird wie folgt bereitgestellt:

Erstellen oder ersetzen Sie Trigger log_user
Nach dem Löschen
auf sample_data
Für jede Reihe
erklären
action_username varchar2 (20);
Start
Wählen Sie Benutzer in action_username aus Dual;
In sample_data_logs einfügen
Werte (: alt.Ausweis,
:ALT.Vorname,
:ALT.IP Adresse,
:ALT.btc_address,
:ALT.Kreditkarte,
:ALT.Kennung,
sysdate,
action_username);
Ende;

Um den Auslöser zu testen, führen wir einen Löschvorgang aus der Tabelle sample_data wie gezeigt aus:

löschen aus sample_data wobei id = 1;

Schließlich können wir die Protokollentabelle überprüfen, um sicherzustellen, dass der Löschvorgang erfasst wurde:

Wählen Sie * aus sample_data_logs;

Ausgang:

Wie wir sehen können, hat die Tabelle vor dem Löschen einen Eintrag der vorherigen Daten sowie den Benutzernamen, der die Löschaktivität und die Zeit des Löschens durchführte.

In den folgenden Abschnitten werden wir zeigen, wie der vorherige Auslöser deaktiviert werden kann. Stellen Sie vorher sicher, dass Ihr Zielauslöser funktionsfähig ist und Sie über ausreichende Berechtigungen verfügen, um ihn zu aktivieren oder zu deaktivieren.

Deaktivieren Sie einen Auslöser mit PL/SQL

Die erste und unkomplizierteste Methode zur Deaktivierung eines Auslösers ist die Verwendung einer SQL -Anweisung. Glücklicherweise gibt Oracle uns eine Alter Trigger -Anweisung, deren Syntax wie folgt bereitgestellt wird:

Alter Trigger Trigger_Name deaktivieren;

Um beispielsweise den zuvor erstellten log_user -Trigger zu deaktivieren, können wir Folgendes ausführen:

alterne Trigger log_user deaktivieren;

Nach der Ausführung führt der Trigger keine Kopie der alten Daten und des Benutzer, der die Löschung wie in Folgendes ausführte:

löschen aus sample_data wobei id = 2;

Überprüfen Sie die Protokolle:

Wählen Sie * aus sample_data_logs;

Ausgang:

Wie wir sehen können, haben wir immer noch nur einen Rekord.

Deaktivieren Sie einen Auslöser mit SQL -Entwickler

Wir können das SQL Developer -Dienstprogramm verwenden, um einen Auslöser in der grafischen Schnittstelle zu deaktivieren. Melden Sie sich am SQL -Entwickler an.

Navigieren Sie zum Abschnitt „Trigger“:

Erweitern Sie das Triggerverzeichnis und lokalisieren Sie den Auslöser, den Sie deaktivieren möchten. Klicken Sie mit der rechten Maustaste auf den Auslösernamen und wählen Sie "Deaktivieren".

Bestätigen Sie die Operation "Deaktivieren" und klicken Sie auf "Bewerben".

Sobald Oracle deaktiviert ist, greift er den Abzug aus und zeigt an, dass er inaktiv ist.

Abschluss

In diesem Artikel wurde untersucht.