Trigger-abh - PowerPoint PPT Presentation

About This Presentation
Title:

Trigger-abh

Description:

Trigger-abh ngige Client Interaktionen (bez glich Oracle8i) oder : Was ein Trigger so alles ansto en kann... Trigger-abh ngige Client Interaktionen ... – PowerPoint PPT presentation

Number of Views:278
Avg rating:3.0/5.0
Slides: 15
Provided by: kuk48
Category:
Tags: abh | sendmail | trigger

less

Transcript and Presenter's Notes

Title: Trigger-abh


1
Trigger-abhängige Client Interaktionen
(bezüglich Oracle8i)
  • oder
  • Was ein Trigger so alles anstoßen kann...

Trigger-abhängige Client Interaktionen von
Mariusz Kukulski und Sven Bittner
2
Inhalt
  • Der Trigger
  • Strored Procedures Stored Functions
  • Vorteile von Stored Procedures Functions
  • Anwendungsmöglichkeiten
  • Wie geht das denn genau??

Trigger-abhängige Client Interaktionen von
Mariusz Kukulski und Sven Bittner
3
Der Trigger (der Auslöser)
  • wird von der Datenbank ausgelöst, wenn mit einer
    DML (database modifying language) Daten in der
    Datenbank verändert werden
  • kann mit dem CALL-Befehl eine Stored Procedure
    oder eine Stored Function auslösen
  • ist die Taste mit nahezu unbegrenzten
    Möglichkeiten

Trigger-abhängige Client Interaktionen von
Mariusz Kukulski und Sven Bittner
4
Beispiel Trigger
  • CREATE TRIGGER Triggername
  • AFTER UPDATE OF Spalte ON Tabellenname
  • FOR EACH ROW
  • BEGIN
  • Anweisung1
  • ...
  • END

Trigger-abhängige Client Interaktionen von
Mariusz Kukulski und Sven Bittner
5
Stored Procedures Stored Functions
  • sind lokal in der Datenbank gespeichert
  • Stored Procedures (für void Methoden)
  • Stored Functions (für Methoden mit Rückgabewert)
  • Aufrufen von Stored Procedures Functions
  • SQL DML-Befehlen ( INSERT, UPDATE, DELETE und
    SELECT)
  • SQL CALL-Befehl

Trigger-abhängige Client Interaktionen von
Mariusz Kukulski und Sven Bittner
6
Beispiel StoredProcedures Functions
  • PROCEDURE Prozedurname IS
  • Variable1 Datentyp
  • ...
  • BEGIN
  • Anwendung1
  • ...
  • EXCEPTION
  • when ...
  • END Prozedurname

Trigger-abhängige Client Interaktionen von
Mariusz Kukulski und Sven Bittner
7
Vorteile von StoredProcedures Functions
  • hohe Geschwindigkeit
  • bereits kompilierter Code serverseitig ausgeführt
  • einfache Einbindung von Methoden (Java, C)
  • systemunabhängig und vielnutzerfähig

Trigger-abhängige Client Interaktionen von
Mariusz Kukulski und Sven Bittner
8
Anwendungsmöglichkeiten
  • Als Reaktion auf Datenbank-Veränderungen kann
    über Trigger alles, was auch mit Stored
    Procedures Functions möglich ist, ausgeführt
    werden.
  • Mail-Benachrichtigungen
  • Ausführung von Prozeßketten ( -folgen)
  • Automatisierung von Verwaltungsprozessen
  • ...noch Ideen?

Trigger-abhängige Client Interaktionen von
Mariusz Kukulski und Sven Bittner
9
Trigger in PL/SQL
  • Nutzen der mitgelieferten packages
  • utl_http - Verbindung mit HTTP-Server per
    HTTP-Protokoll
  • utl_tcp - Kommunikation per TCP/IP Protokoll
  • utl_smtp - Senden von E-Mail
  • Beispiel utl_smtp
  • Sehr unkomfortabel, da Kommunikation auf niederer
    Ebene des
  • SMTP-Protokolls
  • Abstützen auf integrierte JServer API

Trigger-abhängige Client Interaktionen von
Mariusz Kukulski und Sven Bittner
10
Trigger in PL/SQL(2)
Beispiel-Prozedur CREATE OR REPLACE PROCEDURE
sendMail ( Parameter ) IS mail_conn
utl_smtp.connection BEGIN mail_conn
utl_smtp.open_connection( mailhost )
utl_smtp.helo(mail_conn, mailhost)
utl_smtp.mail(mail_conn, sender)
utl_smtp.rcpt(mail_conn, recipient)
utl_smtp.data(mail_conn, message) - Nachricht
gemäß RFC821 utl_smtp.close_data(mail_conn)
utl_smtp.quit(mail_conn) END
Trigger-abhängige Client Interaktionen von
Mariusz Kukulski und Sven Bittner
11
Trigger in Java
  • verschiedene Möglichkeiten
  • Hochladen der gesamten Applikation in den
    Oracle-Server
  • Vermeidung der Netzzugriffe auf die DB
  • leichtes Kopieren in andere DB
  • Änderungen auf Server leicht zu handhaben
  • - eventuelles Laden von ganzen Bibliotheken in
    die DB
  • - Oracle8i unterstützt Java1.2
  • Praxis hochladen der JavaMail, JB Activation
    Framework und
  • Teilen der 1.3 JDK sprengen genutzen DB-Account
  • Anstoßen eines Prozesses auf einem anderen Server
    (zB per Socket)
  • Applikation kann komplett auf Server laufen und
    dessen Fkt. nutzen
  • - Performanceverlust des auslösenden Ereignisses
  • durch Kommunikation über Netzwerk
  • Praxis DB-Account darf keine Socket-Verbindung
    herstellen(Admin??)

Trigger-abhängige Client Interaktionen von
Mariusz Kukulski und Sven Bittner
12
Trigger in C
  • Funktionen liegen auf Datenbank-Server, aber
    nicht im
  • Adressraum der DB
  • Nutzung der Funktionalität und Geschwindigkeit
    von C
  • Nutzen anderer Sprachen (Assembler, C etc)
  • - Zeitverlust durch Ausführen ausserhalb der DB
  • - Zeitverlust durch eventuelles Laden
    Funktionen
  • (sind in DLLs verpackt)

Trigger-abhängige Client Interaktionen von
Mariusz Kukulski und Sven Bittner
13
Und nunals praktisches BeispielMail-Benachrich
tigungper Trigger
Trigger-abhängige Client Interaktionen von
Mariusz Kukulski und Sven Bittner
14
Die Tabelle CREATE OR REPLACE TABLE
trigger_test ( rec VARCHAR2(100) NOT
NULL, text VARCHAR2(100) NOT NULL ) Der
Trigger CREATE OR REPLACE TRIGGER test_trig1
AFTER INSERT ON trigger_test FOR EACH ROW
CALL send_Mail(new.rec, new.text) Das
Resultat Eine Email mit dem eingetragenen Text
an den eingetragenen Empfänger
Trigger-abhängige Client Interaktionen von
Mariusz Kukulski und Sven Bittner
Write a Comment
User Comments (0)
About PowerShow.com