Ausnahmebehandlung. Ausnahmebehandlung mit PL/SQL. Ausnahmetypen. Ausnahmebehandlung

Ähnliche Dokumente
Explizite Cursor. Cursor. Steuerung des expliziten Cursors. Explizite Cursor Funktionen

Einführung in PL/SQL

Oracle Datenbankprogrammierung mit PL/SQL Grundlagen

Struktur von PL/SQL. Oracle PL/SQL Die Programmiersprache von Oracle. Ein Beispiel. Bildschirmausgabe. Using Oracle PL/SQL.

Funktion definieren Gibt Summe der Gehälter zurück. Aufruf in einem SQL-Statement

Prozedurale Datenbank- Anwendungsprogrammierung

9. Einführung in PL/SQL

Trigger schreiben. Überblick über Trigger. Datenbank Trigger: Beispiel. Aufbau eines Triggers

Steuerungsstrukturen. Ablaufsteuerung der PL/SQL Ausführung. IF Anweisungen. Einfaches IF

PL/SQL. Deklaration von Variablen. Inhalt. PL/SQL Block Struktur. PL/SQL Block Struktur

Prozeduren und Trigger in Datenbanken

Kontrollstrukturen in PL/SQL

ORACLE9i: PL/SQL PL/SQL. Inhalt. Einführung. Deklarationsteil. Ausführungsteil. Cursorkonzept. Ausnahmebehandlung

Dynamisches SQL. Folien zum Datenbankpraktikum Wintersemester 2009/10 LMU München

WS 2010/11 Datenbanksysteme Fr 15:15 16:45 R Vorlesung #6. SQL (Teil 4)

Vorbereitungen zum 3. Praktikum (PL/SQL):

Oracle PL/SQL und Datenbankprogrammierung - LVC

Dipl. Inf. Dipl. Math. Y. Orkunoglu Datum:

Oracle Database 11g: PL/SQL-Grundlagen

Themen des Kapitels. 2 Grundlagen von PL/SQL. PL/SQL Blöcke Kommentare Bezeichner Variablen Operatoren. 2.1 Übersicht. Grundelemente von PL/SQL.

Datenbanken: Prozedurales SQL

PL/SQL Einführung /

Oracle 12c: Neuerungen in PL/SQL

Kap. 1.2 Existierende Infrastruktur am Beispiel von Oracle9

SQL and PL/SQL unleashed. Neuheiten bei Oracle 11g und Oracle 12c im Bereich SQL und PL/SQL

Oracle und LDAP. Zugriff auf LDAP-Daten aus einer Oracle-DB. Martin Busik

Gesicherte Prozeduren

Oracle 12c: Neuerungen in PL/SQL. Roman Pyro DOAG 2014 Konferenz

Debugging in APEX. Christina Funke Apps Associates GmbH Dortmund

11 Anwendungsprogrammierung

Übungsblatt 8- Lösungsvorschlag

Dynamische Generierung von XML

Mail direkt aus Oracle versenden - komfortabel und mit Umlauten

Inhalt. Ein Einführung in die Nutzung von SQL-Datenbanken am Beispiel Oracle. Daten und Tabellen - ein Beispiel. Daten und Tabellen - Normalisierung

Prozedurale SQL-Erweiterungen

Datenbanksysteme. Dominic Pacher. Datenbanken und Informationssysteme (DBIS) Institut für Informatik Universität Innsbruck. dbis-informatik.uibk.ac.

SQL (Structured Query Language) Schemata Datentypen

Extracting Business Rules from PL/SQL-Code

SQL. Datenmanipulation. Datenmanipulationssprache. Ein neues Tupel hinzufügen. Das INSERT Statement

Powerful PL/SQL: Collections indizieren mit VARCHAR2- Indizes ein Praxisbeispiel

sm-client Projekt Aktualisierungsinstruktionen von R2.x auf R3.0 Finale Version SSK / BSV eahv/iv

... Trigger - Fehlersuche (Debugging)

Hochschule Karlsruhe Technik und Wirtschaft Anhänge: Fakultät für Informatik und Wirtschaftsinformatik SS 2013 Prof. Schmidt.

PL/pgSQL. VU Datenbanksysteme. Reinhard Pichler

13 Stored Procedures und Trigger Einführung in PL/SQL Datenbankanfragen und Cursor in PL/SQL Trigger...

5.8 Bibliotheken für PostgreSQL

Access [basics] Aktionsabfragen per VBA ausführen. Beispieldatenbank. Aktionsabfragen. Die Execute-Methode. Datenzugriff per VBA

Entwicklungsumgebung für die Laborübung

Java Application 1 Java Application 2. JDBC DriverManager. JDBC-ODBC Br idge. ODBC Driver Manager. Dr iver C. Dr iver D.

O REILLY. Oracle PL/SQL Programmierung Paris - - Steven Feuerstein. mit Bill Pribyl. Deutsche Übersetzung von Dorothea Reder 2.

Kuriositäten in der Oracle-Datenbank

Advanced Queues und XML-DB Integration von Oracle in einer SOA mit Hilfe von asynchroner Kommunikation und XML-Verarbeitung

APEX URLs Suchmaschienen- und Benutzerfreundlich

Klausur PI Datenbanken II vom Name: Praktische Informatik (Krägeloh)

Datenbanken 1 und Objektorientierte Datenbanken

Grundzüge und Vorteile von XML-Datenbanken am Beispiel der Oracle XML DB

Whitepaper. Produkt: combit Relationship Manager. Datensatzhistorie mit dem SQL Server 2000 und combit GmbH Untere Laube Konstanz

Gliederung Grundlagen Schlüsselworte try-catch Fehlerobjekte Fehlerklassen Schlüsselwort finally Schlüsselwort throws selbst erstellte Exceptions

Parallele Programmierung in SQL und PL/SQL. Peter Bekiesch Dierk Lenz DOAG 2011 Konferenz und Ausstellung 17. November 2011

Datenbanksysteme II. Datenbanksysteme II.mmp Stefan Ferstl - sferstl@hsr.ch Seite 1

... Flexiblen Code schreiben

Erstellen dynamischer Webseiten mit PL/SQL Server Pages

Geschäftslogik in der Datenbank

Aufgabenstellung. Bekannte Lösungsansätze. Die Idee. Native Informix Architektur

... Fenster und Content Canvases erstellen

Oracle Database 10g PL/SQL Programmierung

Kapitel 7: Referentielle Integrität

Objektrelationale und erweiterbare Datenbanksysteme

Geschäftslogik in die Datenbank Umstellung eines Kernbanksystems

... Datenintegrität verwalten

Art der Info: Technische Background Info Teil 3 (April 2002)

Excel VBA Fehler im Programm

Geschäftslogik in der Datenbank

Portierung einer Oracle PL/SQL basierenden Anwendung auf HP NonStop mit SQL/MX

How to create a Gift Certificate Wie man ein Gift Certificate (Gutschein) erstellt

Teil VIII Transaktionen, Integrität und Trigger

zu große Programme (Bildschirmseite!) zerlegen in (weitgehend) unabhängige Einheiten: Unterprogramme

Einführung in den Einsatz von Objekt-Orientierung mit C++ I

Oracle: Abstrakte Datentypen:

6. Datenintegrität. Integritätsbedingungen

Dokumentation zur Anlage eines JDBC Senders

Lösungen der Übungsaufgaben von Kapitel 10

UEB. Übungen zum Seminar 4053

Übung: Data Warehousing und Data Mining

VBA-Programmierung: Zusammenfassung

zu große Programme (Bildschirmseite!) zerlegen in (weitgehend) unabhängige Einheiten: Unterprogramme

3. Stored Procedures und PL/SQL

ORM & OLAP. Object-oriented Enterprise Application Programming Model for In-Memory Databases. Sebastian Oergel

Datenintegrität. Folien zum Datenbankpraktikum Wintersemester 2009/10 LMU München

Verteidigung gegen SQL Injection Attacks

10.6 Programmier-Exits für Workitems

... Rollen verwalten

VO Datenmodellierung. Katrin Seyr

CARL HANSER VERLAG. Christopher Allen. Oracle PL/SQL für Einsteiger Der Einsatz von SQL und PL/SQL in der Oracle-Datenbank

Art der Info: Technische Background Info Teil 1 (April 2002)

Release Notes SAPERION Version 7.1 SP 5

Oracle PL/SQL für Experten - Performance Analyse und Laufzeitoptimierung

Der SAS DataStep und die Prozedur SQL Cellent Finance Solutions GmbH Seite: 1

Referentielle Integrität

Array-Zuweisungen. Array-Zuweisungen können über die Position, den Namen oder gemischt erfolgen.

Transkript:

behandlung mit PL/SQL behandlung Was ist eine? Anzeige von Fehlern Wie werden sie angezeigt? Ein Oracle error erscheint. Die Anzeige ist explizit. Wie behandelt man es? Abfangen mit einem Programm. Weiterleiten an die rufende Umgebung. Copyright Oracle Corporation, 1998. All rights reserved. 23-2 Copyright Oracle Corporation, 1998. All rights reserved. behandlung Abfangen der ist angezeigt ist abgefangen Weiterleiten der ist angezeigt ist nicht abgefangen typen Vordefiniert in Oracle Server } Implizite Nicht vordefiniert in Anzeige Oracle Server Benutzerdefiniert Explizite Anzeige wird weitergeleitet und die Umgebung 23-3 Copyright Oracle Corporation, 1998. All rights reserved. 23-4 Copyright Oracle Corporation, 1998. All rights reserved.

Syntax Abfangen von n WHEN exception1 [OR exception2 ] THEN [WHEN exception3 [OR exception4 ] THEN ] [WHEN OTHERS THEN ] Richtlinien zum Abfangen von n WHEN OTHERS ist die letzte Klausel Schlüsselwort startet die behandlung. Verschiedene behadlungen sind erlaubt Nur ein Anwender arbeitet bevor der Prozess verlassen wird 23-5 Copyright Oracle Corporation, 1998. All rights reserved. 23-6 Copyright Oracle Corporation, 1998. All rights reserved. Abfangen vordefinierter Oracle Server Errors Den Standardnamen der behandlung benutzen Beispiele vordefinierter n: NO_DATA_FOUND TOO_MANY_ROWS INVALID_CURSOR ZERO_DIVIDE DUP_VAL_ON_INDEX Syntax Vordefinierte n SELECT... COMMIT; WHEN NO_DATA_FOUND THEN WHEN TOO_MANY_ROWS THEN WHEN OTHERS THEN statement3; 23-7 Copyright Oracle Corporation, 1998. All rights reserved. 23-8 Copyright Oracle Corporation, 1998. All rights reserved.

Abfangen nicht vordefinierter Oracle Server Errors Deklaration Name der Deklarative Sektion Zuordnung Code der PRAGMA _INIT Referenz behandlungsteil Behandle die angezeigte Nicht vordefinierter Fehler Abfangen mit Oracle Server Fehlernummer -2292 eine Verletzung der referentiellen Integrität e_products_invalid; ; 1 PRAGMA _INIT ( e_products_invalid, -2292); 2 v_message VARCHAR2(50); WHEN e_products_invalid THEN 3 :g_message := 'Product code specified is not valid.'; 23-9 Copyright Oracle Corporation, 1998. All rights reserved. 23-10 Copyright Oracle Corporation, 1998. All rights reserved. Abfangen benutzerdefinierter n Deklaration Deklarative Sektion Name der Anzeigen Ausführbare Sektion Explizite Anzeige der mit Gebrauch des RAISE Statments Referenz Behandlung der angezeigten behandlungssektion Benutzerdefinierte n Beispiel [] e_amount_remaining ; 1 RAISE RAISE e_amount_remaining; 2 WHEN e_amount_remaining THEN :g_message := 'There is still an amount 3 in stock.'; 23-11 Copyright Oracle Corporation, 1998. All rights reserved. 23-12 Copyright Oracle Corporation, 1998. All rights reserved.

Funktionen zum Abfangen von n SQLCODE Gibt einen numerischen Wert als Fehlercode zurück SQLERRM Gibt eine Nachricht zusammen mit der Fehlernummer zurück Funktionen zum Abfangen von n Beispiel v_error_code NUMBER; v_error_message VARCHAR2(255);...... WHEN OTHERS THEN ROLLBACK; v_error_code := SQLCODE ; v_error_message := SQLERRM ; INSERT INTO errors VALUES(v_error_code, v_error_message); 23-13 Copyright Oracle Corporation, 1998. All rights reserved. 23-14 Copyright Oracle Corporation, 1998. All rights reserved. Weiterleiten von n Subblöcke können eine behandeln oder die an den einschließenden Block übergeben. e_no_rows exception; e_integrity exception; PRAGMA _INIT (e_integrity, -2292); FOR c_record IN emp_cursor LOOP SELECT... UPDATE... IF SQL%NOTFOUND THEN RAISE e_no_rows; END IF; WHEN e_integrity THEN... WHEN e_no_rows THEN... END LOOP; WHEN NO_DATA_FOUND THEN WHEN TOO_MANY_ROWS THEN Link für Fehlerbehandlung / Exceptions http://fara.cs.unipotsdam.de/~uhlmann/19/ch09.html 23-15 Copyright Oracle Corporation, 1998. All rights reserved. 23-16 Copyright Oracle Corporation, 1998. All rights reserved.

RAISE_APPLICATION_ERROR RAISE_APPLICATION_ERROR Syntax raise_application_error (error_number, message[, {TRUE FALSE}]); Eine Prozedur, die nutzerdefinierte Fehlermeldungen von einem stored subprogram ausgeben läßt. Benannt nur von einem ausführbaren stored subprogram. Kann an zwei unterschiedlichen Stellen angewandt werden: Ausführbare Sektion Sektion Gibt Fehlerbedingungen in der gleichen Art wie andere Oracle Server Fehler an den Nutzer zurück. 23-17 Copyright Oracle Corporation, 1998. All rights reserved. 23-18 Copyright Oracle Corporation, 1998. All rights reserved.