Einführung in PL/SQL

Größe: px
Ab Seite anzeigen:

Download "Einführung in PL/SQL"

Transkript

1 Einführung in PL/SQL Procedural Language/Structured Query Language Prozedurale Erweiterung der Sprache SQL für Elemente wie Variablen, Schleifen, Bedingungen, Ausnahmebehandlung Dr. Christian Senger Einführung PL/SQL 1

2 Einführung in PL/SQL Code läuft innerhalb der Datenbank ab und ist deshalb sehr performant Zusätzlich große Anzahl an vordefinierten Bibliotheken (packages) verfügbar. Einsatzfelder: anonyme Blöcke Funktionen und Prozeduren, Methoden Trigger Dr. Christian Senger Einführung PL/SQL 2

3 Couchsurfing CREATE SEQUENCE schlafplatz_seq MINVALUE 1 MAXVALUE START WITH 1 INCREMENT BY 1 CACHE 10; CREATE TABLE schlafplatz( schlafplatz_id NUMBER(8,0) NOT NULL, bezeichnung VARCHAR(255) NULL, -- der längste Städtename der Welt ist -- Llanfairpwllgwyngyllgogerychwyrnd -- robwllllantysiliogogogoch -- (58 Buchstaben, Ort in Wales) stadt VARCHAR(60) NOT NULL, anzahl_plaetze NUMBER(2,0) NOT NULL, beliebtheit_rang NUMBER(*,0) NOT NULL, PRIMARY KEY (schlafplatz_id)); INSERT INTO schlafplatz VALUES( schlafplatz_seq.nextval, 'Seppl Berlin', 'Berlin', 2, 1); INSERT INTO schlafplatz VALUES( schlafplatz_seq.nextval, 'Max', 'Köln', 3, 2); INSERT INTO schlafplatz VALUES( schlafplatz_seq.nextval, 'Kathrinchen', 'Karlsruhe', 1, 3); INSERT INTO schlafplatz VALUES( schlafplatz_seq.nextval, 'Marten', 'Berlin', 2, 4); Dr. Christian Senger Einführung PL/SQL 3

4 Struktur eines PL/SQL Programms Dr. Christian Senger Einführung PL/SQL 4

5 Datentypen in PL/SQL BINARY_INTEGER Wertebereich bis NUMBER [(Länge, Nachkommastelle)] 38 Stellen Genauigkeit CHAR [(Länge)] maximale Länge von Bytes DECLARE neue_stadt CHAR(60) := Freiburg ; tabellen_name CHAR (30); belegte_plätze NUMBER(10) := 2; heute DATE NOT NULL; VARCHAR2 [(Länge)] ok BOOLEAN; BOOLEAN DATE LONG [(Länge)] RAW [(Länge)] pi CONSTANT NUMBER := ; CURSOR schlafplatz_cursor IS SELECT * FROM schlafplatz ORDER BY beliebtheit_rang; ROWID CURSOR Dr. Christian Senger Einführung PL/SQL 5

6 Datentypen in PL/SQL Namen von Tabellen und Spalten sind als vordefinierte Variable vorhanden Attribut %TYPE liefert Datentyp einer anderen Variablen oder einer Tabellenspalte Attribut %ROWTYPE liefert Datentyp einer Tabellenzeile (Zugriff auf einzelne Felder über. -Notation) Attribut %ROWCOUNT liefert Anzahl von Zeilen die vom Cursor bisher zurückgegeben wurden DECLARE stadt_name city.name%type; land country%rowtype;... stadt_name := city.name; Spalte: Name, Tabelle: City Tabelle: Country Dr. Christian Senger Einführung PL/SQL 6

7 Bildschirmausgabe PL/SQL Programme erzeugen normalerweise keine Bildschirmausgabe spezielles Paket zur Bildschirmausgabe verfügbar (DBMS_OUTPUT) Bildschirmausgabe mit Prozedur: DBMS_OUTPUT.PUT_LINE(<zeichenkette>); Bildschirmausgabe kann in SQLPLUS Sitzung an und ausgeschaltet werden (Default OFF) Anweisung: SET SERVEROUTPUT ON OFF [SIZE <numbytes>] SET serveroutput ON DBMS_OUTPUT.PUT_LINE('Willkommen in der Couchsurfer-Vorlesung'); SET serveroutput OFF Dr. Christian Senger Einführung PL/SQL 7

8 Kontrollstrukturen (Zuweisungen) Zuweisungsoperator := SET serveroutput ON DECLARE anzahl_plaetze NUMBER(2,0) NOT NULL := 2; anzahl_plaetze := anzahl_plaetze * 1.5; DBMS_OUTPUT.PUT_LINE(anzahl_plaetze); Dr. Christian Senger Einführung PL/SQL 8

9 Kontrollstrukturen (Zuweisungen) INTO Operator mit SELECT (wenn genau ein Datensatz zurückgeliefert wird) DECLARE anzahl_plaetze_gesamt NUMBER; SELECT sum(anzahl_plaetze) INTO anzahl_plaetze_gesamt FROM schlafplatz; DBMS_OUTPUT.PUT_LINE('Es gibt ' anzahl_plaetze_gesamt ' Schlafplätze in der Datenbank'); Dr. Christian Senger Einführung PL/SQL 9

10 Kontrollstrukturen (Zuweisungen) FETCH... INTO (Mit Cursor) FETCH cur_schlafplatz INTO temp_schlafplatz_id, temp_anzahl_plaetze; Dr. Christian Senger Einführung PL/SQL 10

11 Kontrollstrukturen (bedingte Anweisungen) -- bedingte Verzweigung IF <bedingung> THEN <anweisungen> END IF; -- Alternative IF <bedingung> THEN <anweisungen> ELSE <anweisungen> END IF; -- mehrere Alternativen IF <bedingung 1> THEN <anweisungen> ELSIF <bedingung 2> THEN <anweisungen> ELSIF <bedingung 3> THEN <anweisungen> ELSE <anweisungen> END IF; Dr. Christian Senger Einführung PL/SQL 11

12 Kontrollstrukturen (Schleifen) -- LOOP END LOOP DECLARE beliebtheit_rang NUMBER := 0; -- Achtung: Abbruchbedingung muss formuliert werden LOOP beliebtheit_rang := beliebtheit_rang + 1; IF beliebtheit_rang = 50 THEN DBMS_OUTPUT.PUT_LINE('Die Beliebtheit dieses Schlafplatzes hat ' beliebtheit_rang ' erreicht!'); EXIT; END IF; END LOOP; -- FOR <zaehlbereich> LOOP... END LOOP FOR i IN 1..5 LOOP INSERT INTO schlafplatz VALUES (schlafplatz_seq.nextval,'freund' i,'stadt' i,0,0); END LOOP; Dr. Christian Senger Einführung PL/SQL 12

13 -- Rückwärts Fakultät für Informatik & Wirtschaftsinformatik Kontrollstrukturen (Schleifen) II FOR i in REVERSE 1..5 loop DBMS_OUTPUT.PUT_LINE(i); END LOOP; -- WHILE <bed> LOOP... END LOOP DECLARE anzahl_plaetze NUMBER := 0; beliebtheit_rang NUMBER := 0; WHILE anzahl_plaetze <= 5 LOOP beliebtheit_rang := beliebtheit_rang + anzahl_plaetze; anzahl_plaetze := anzahl_plaetze + 1; DBMS_OUTPUT.PUT_LINE ( 'beliebtheit_rang: ' beliebtheit_rang ' ' 'anzahl_plaetze: ' anzahl_plaetze ); END LOOP; Dr. Christian Senger Einführung PL/SQL 13

14 Ausnahmebehandlung Behandlung von Fehlern und Ausnahmesituationen durch Exceptionhandler Tritt Ausnahme auf, so wird normaler Ablauf abgebrochen und eine Fehlerbehandlung durchgeführt. Fehlerbehandlung erfolgt in EXCEPTION-Block. Ausnahmen können vordefiniert oder benutzerdefiniert sein. Dr. Christian Senger Einführung PL/SQL 14

15 Ausnahmebehandlung (vordefinierte Ausnahmen) DECLARE lieblings_schlafplatz schlafplatz%rowtype; stadt_name VARCHAR(60) := 'Karlsruhe'; SELECT * INTO lieblings_schlafplatz FROM schlafplatz WHERE stadt = stadt_name; DBMS_OUTPUT.PUT_LINE( lieblings_schlafplatz.bezeichnung ' hat ' lieblings_schlafplatz.anzahl_plaetze ' Schlafplatz/Schlafplätze' ); EXCEPTION WHEN no_data_found THEN DBMS_OUTPUT.PUT_LINE('Stadt ' stadt_name ' gibt es nicht'); WHEN too_many_rows THEN DBMS_OUTPUT.PUT_LINE('Stadt ' stadt_name ' gibt es es mehrfach'); Ausgabe: Kathrinchen hat 1 Schlafplatz/ Schlafplätze... stadt_name VARCHAR(60) := 'Stuttgart';... Ausgabe: Stadt Stuttgart gibt es nicht... stadt_name VARCHAR(60) := 'Berlin';... Ausgabe: Stadt Berlin gibt es mehrfach Dr. Christian Senger Einführung PL/SQL 15

16 vordefinierte Ausnahmen Exception Oracle Error SQLCODE ACCESS_INTO_NULL ORA COLLECTION_IS_NULL ORA CURSOR_ALREADY_OPEN ORA DUP_VAL_ON_INDEX ORA INVALID_CURSOR ORA INVALID_NUMBER ORA LOGIN_DENIED ORA NO_DATA_FOUND ORA NOT_LOGGED_ON ORA Mehr unter PROGRAM_ERROR ORA ROWTYPE_MISMATCH ORA STORAGE_ERROR ORA SUBSCRIPT_BEYOND_COUNT ORA SUBSCRIPT_OUTSIDE_LIMIT ORA TIMEOUT_ON_RESOURCE ORA TOO_MANY_ROWS ORA VALUE_ERROR ORA ZERO_DIVIDE ORA Dr. Christian Senger Einführung PL/SQL 16

17 Ausnahmebehandlung (eigene Ausnahmen) DECLARE exception_zu_allein EXCEPTION; lieblings_schlafplatz schlafplatz%rowtype; stadt_name VARCHAR(60) := 'Karlsruhe'; SELECT * INTO lieblings_schlafplatz FROM schlafplatz WHERE stadt = stadt_name; IF lieblings_schlafplatz.anzahl_plaetze < 2 THEN RAISE exception_zu_allein; END IF; DBMS_OUTPUT.PUT_LINE( lieblings_schlafplatz.bezeichnung ' hat ' lieblings_schlafplatz.anzahl_plaetze ' Schlafplätze'); EXCEPTION WHEN exception_zu_allein THEN DBMS_OUTPUT.PUT_LINE( lieblings_schlafplatz.bezeichnung ' hat nur ' lieblings_schlafplatz.anzahl_plaetze ' Schlafplatz/Schlafplätze, da fühl ich mich zu allein'); WHEN others THEN DBMS_OUTPUT.PUT_LINE('Fehler: ' sqlerrm); Dr. Christian Senger Einführung PL/SQL 17

18 Beispiel Dr. Christian Senger Einführung PL/SQL 18

19 CURSOR SQL Anweisung liefert i.a. eine Menge von Tupeln zurück Cursor zur sequentiellen Abarbeitung der Ergebnismenge Deklaration: DECLARE... CURSOR c1 IS SELECT * FROM schlafplatz; Zugriff auf den Inhalt mittels OPEN, FETCH, CLOSE Status des Cursors: %ISOPEN, %FOUND, %NOTFOUND, %ROWCOUNT Dr. Christian Senger Einführung PL/SQL 19

20 CURSOR II DECLARE CURSOR cur_schlafplatz IS SELECT * FROM schlafplatz s WHERE s.anzahl_plaetze > 0 AND s.beliebtheit_rang > 0 ORDER BY s.beliebtheit_rang DESC; ein_schlafplatz schlafplatz%rowtype; OPEN cur_schlafplatz; FETCH cur_schlafplatz INTO ein_schlafplatz; WHILE cur_schlafplatz%found LOOP DBMS_OUTPUT.PUT_LINE('Datensatz: ' cur_schlafplatz%rowcount ', Bezeichnung: ' ein_schlafplatz.bezeichnung '(' ein_schlafplatz.anzahl_plaetze ')'); Ausgabe: Datensatz: 1, Bezeichnung: Marten(2) Datensatz: 2, Bezeichnung: Kathrinchen(1) Datensatz: 3, Bezeichnung: Max(3) Datensatz: 4, Bezeichnung: Seppl Berlin(2) FETCH cur_schlafplatz INTO ein_schlafplatz; END LOOP; CLOSE cur_schlafplatz; Dr. Christian Senger Einführung PL/SQL 20

21 CURSOR III (Kurzform ohne OPEN, FETCH, CLOSE) DECLARE CURSOR cur_schlafplatz IS SELECT * FROM schlafplatz s WHERE s.anzahl_plaetze > 0 AND s.beliebtheit_rang > 0 ORDER BY s.beliebtheit_rang DESC; FOR ein_schlafplatz IN cur_schlafplatz LOOP DBMS_OUTPUT.PUT_LINE( 'Datensatz: ' cur_schlafplatz%rowcount ', Bezeichnung: ' ein_schlafplatz.bezeichnung '(' ein_schlafplatz.anzahl_plaetze ')'); END LOOP; Ausgabe: Datensatz: 1, Bezeichnung: Marten(2) Datensatz: 2, Bezeichnung: Kathrinchen(1) Datensatz: 3, Bezeichnung: Max(3) Datensatz: 4, Bezeichnung: Seppl Berlin(2) Dr. Christian Senger Einführung PL/SQL 21

22 CURSOR IV (ohne explizite Cursorvariable) FOR ein_schlafplatz IN ( SELECT * FROM schlafplatz s WHERE s.anzahl_plaetze > 0 AND s.beliebtheit_rang > 0 ORDER BY s.beliebtheit_rang DESC ) LOOP DBMS_OUTPUT.PUT_LINE( 'Bezeichnung: ' ein_schlafplatz.bezeichnung '(' ein_schlafplatz.anzahl_plaetze ')'); END LOOP; Ausgabe: Bezeichnung: Marten(2) Bezeichnung: Kathrinchen(1) Bezeichnung: Max(3) Bezeichnung: Seppl Berlin(2) Dr. Christian Senger Einführung PL/SQL 22

23 CURSOR V (mit Parametern) in WHERE-Klausel können Auswahlkriterien angegeben werden Werte können beim öffnen des Cursors mit übergeben werden z.b.: OPEN cur_schlafplatz('berlin'); Ideal bei geschachtelten Tabellen DECLARE CURSOR cur_schlafplatz(gesuchte_stadt char) IS SELECT * FROM schlafplatz s WHERE s.stadt = gesuchte_stadt AND anzahl_plaetze > 0; FOR ein_schlafplatz IN cur_schlafplatz('berlin') LOOP DBMS_OUTPUT.PUT_LINE('Datensatz: ' cur_schlafplatz%rowcount ', Bezeichnung: ' ein_schlafplatz.bezeichnung '(' ein_schlafplatz.anzahl_plaetze ')'); END LOOP; Dr. Christian Senger Einführung PL/SQL 23

24 Beispiel Dr. Christian Senger Einführung PL/SQL 24

25 Funktionen & Prozeduren Definition von Prozeduren und Funktionen innerhalb eines PL/SQL Blocks Integration von Prozeduren und Funktionen als Datenbankobjekte Übergabeparameter können als IN, OUT und IN OUT deklariert werden. Übergabeparameter können einen Standardwert besitzen Parametertypen ohne Größenangabe Prozedur-/Funktionsrumpf entspricht einem PL/SQL-Block ohne Schlüsselwort DECLARE -- Beispielprozedurkopf PROCEDURE schlafplatz_suche(ort IN VARCHAR, anzahl_plaetze IN INTEGER DEFAULT 1) IS -- Implementierung; Dr. Christian Senger Einführung PL/SQL 25

26 Funktionen & Prozeduren II Funktionsdeklaration entspricht Prozedurdeklaration mit Unterschied, dass Ergebnistyp der Funktion angegeben wird. Rückgabe der berechneten Ergebnisse mittels Schlüsselwort RETURN. -- Funktionen CREATE FUNCTION minimum(a IN NUMBER, b IN NUMBER) RETURN NUMBER IS IF a < b THEN RETURN a; ELSE RETURN b; END IF; -- Ausführen z.b. DBMS_OUTPUT.PUT_LINE('Minimum von 1 und 3: ' minimum(1,3)); SELECT minimum(1,3), anzahl_plaetze FROM schlafplatz WHERE stadt='berlin'; EXEC DBMS_OUTPUT.PUT_LINE('Minimum von 1 und 3: ' minimum(1,3)); Dr. Christian Senger Einführung PL/SQL 26

27 Funktionen & Prozeduren III (Beispiele) CREATE FUNCTION minimum(a IN NUMBER, b IN NUMBER) RETURN NUMBER IS IF a < b THEN RETURN a; ELSE RETURN b; END IF; CREATE PROCEDURE maximum(a IN NUMBER, b IN NUMBER, res OUT NUMBER) IS IF a > b THEN res := a; ELSE res := b; END IF; DECLARE m NUMBER; DBMS_OUTPUT.PUT_LINE( 'Minimum von 3 und -5: ' minimum(3,-5)); maximum(2,-4, m); DBMS_OUTPUT.PUT_LINE('Maximum von 2 und -4: ' m); Dr. Christian Senger Einführung PL/SQL 27

28 Prozeduren& Funktionen als Datenbankobjekte Abspeichern von Funktionen/Prozeduren als benannte Datenbankobjekte Funktionen/Prozeduren können von SQLPLUS/ TOAD/..., PL/SQL Code oder auch über OCI, ODBC, JDBC aus aufgerufen werden CREATE OR REPLACE FUNCTION IS NUMBER f NUMBER := 1; fak(z IN INTEGER) RETURN FOR i IN 2..z LOOP f := f * i; END LOOP; RETURN f; -- Aufruf (1) DBMS_OUTPUT.PUT_LINE(fak(5)); -- Aufruf (2, alternativ) EXEC DBMS_OUTPUT.PUT_LINE('fak(5)=' fak(5)) Dr. Christian Senger Einführung PL/SQL 28

29 Prozeduren& Funktionen als Datenbankobjekte II Fehler bei Definition einer Prozedur/Funktion können mit dem SQLPLUS Kommando SHOW ERRORS angezeigt werden Aufruf von PL/SQL Funktionen auch innerhalb von SQL Statements Funktionen können mit Ausführungsrechten versehen werden (Kapselung) Funktionen/Prozeduren können als EXTERN deklariert sein (Implementierung in Java, C++,...) Tabelle user_source enthält alle benutzerdefinierten Datenbankobjekte DESC user_source SELECT text FROM user_source WHERE name='fak' AND type='function' ORDER BY line; -- Tabellendefinition NAME VARCHAR2(30) TYPE VARCHAR2(12) LINE NUMBER TEXT VARCHAR2(4000) -- Ausgabe FUNCTION fak(z IN INTEGER) RETURN NUMBER Dr. Christian Senger Einführung PL/SQL 29

30 Beispiele Dr. Christian Senger Einführung PL/SQL 30

Einführung in PL/SQL

Einführung in PL/SQL Einführung in PLSQL Prozedurale Erweiterung der Sprache SQL um Elemente wie Variablen, Schleifen, Bedingungen, Ausnahmebehandlung Code läuft innerhalb der Datenbank ab und ist deshalb sehr performant Zusätzlich

Mehr

Vorbereitungen zum 3. Praktikum (PL/SQL):

Vorbereitungen zum 3. Praktikum (PL/SQL): Vorbereitungen zum 3. Praktikum (PLSQL): SQL ist eine nicht-prozedurale Sprache der 4. Generation, die es nicht erlaubt, Elemente von 3.-Generation-Sprachen (Schleifen, Verzweigungen, etc.) zu benutzen.

Mehr

Prozedurale Datenbank- Anwendungsprogrammierung

Prozedurale Datenbank- Anwendungsprogrammierung Idee: Erweiterung von SQL um Komponenten von prozeduralen Sprachen (Sequenz, bedingte Ausführung, Schleife) Bezeichnung: Prozedurale SQL-Erweiterung. In Oracle: PL/SQL, in Microsoft SQL Server: T-SQL.

Mehr

Funktionen. Überblick über Stored Functions. Syntax zum Schreiben einer Funktion. Schreiben einer Funktion

Funktionen. Überblick über Stored Functions. Syntax zum Schreiben einer Funktion. Schreiben einer Funktion Überblick über Stored Functions Funktionen Eine Funktion ist ein benannter PL/SQL- Block, der einen Wert zurückgibt. Eine Funktion kann in der Datenbank als Objekt zur wiederholbaren Ausführung gespeichert

Mehr

Prozedurale SQL-Erweiterungen

Prozedurale SQL-Erweiterungen Prozedurale SQL-Erweiterungen Prozedurale SQL-Erweiterungen unterscheiden sich typischerweise durch die folgenden Punkte von dem Ansatz der Einbettung: Neue dedizierte Sprache mit direkter Integration

Mehr

Ausnahmebehandlung. Ausnahmebehandlung mit PL/SQL. Ausnahmetypen. Ausnahmebehandlung

Ausnahmebehandlung. Ausnahmebehandlung mit PL/SQL. Ausnahmetypen. Ausnahmebehandlung 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

Mehr

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

Struktur von PL/SQL. Oracle PL/SQL Die Programmiersprache von Oracle. Ein Beispiel. Bildschirmausgabe. Using Oracle PL/SQL. Oracle PL/SQL Die Programmiersprache von Oracle Struktur von PL/SQL Using Oracle PL/SQL http://www-db.stanford.edu/~ullman/fcdb/oracle/or-plsql.html Constraints and Triggers http://www-db.stanford.edu/~ullman/fcdb/oracle/or-triggers.html

Mehr

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

Dynamisches SQL. Folien zum Datenbankpraktikum Wintersemester 2009/10 LMU München Kapitel 4 Dynamisches SQL Folien zum Datenbankpraktikum Wintersemester 2009/10 LMU München 2008 Thomas Bernecker, Tobias Emrich unter Verwendung der Folien des Datenbankpraktikums aus dem Wintersemester

Mehr

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

Funktion definieren Gibt Summe der Gehälter zurück. Aufruf in einem SQL-Statement Funktion definieren Gibt Summe der Gehälter zurück Aufruf in einem SQL-Statement Dr. Christian Senger Einführung PL/SQL 1 Procedures & Transaktionen CREATE OR REPLACE PROCEDURE write_log ( log_code IN

Mehr

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

ORACLE9i: PL/SQL PL/SQL. Inhalt. Einführung. Deklarationsteil. Ausführungsteil. Cursorkonzept. Ausnahmebehandlung Inhalt Einführung ORACLE9i: Deklarationsteil Ausführungsteil Autoren: Günter Preuner Thomas Thalhammer Aktualisierte Fassung in Anlehnung an Oracle 7: Folien von Stefan Rausch-Schott und Werner Retschitzegger,

Mehr

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

Powerful PL/SQL: Collections indizieren mit VARCHAR2- Indizes ein Praxisbeispiel Powerful PL/SQL: Collections indizieren mit VARCHAR2- Indizes ein Praxisbeispiel Schlagworte Autor: Klaus Friemelt, MT AG dynamisches BULK SQL, VARCHAR2-indizierte PL/SQL-Tabellen Einleitung Mit den letzten

Mehr

Explizite Cursor. Cursor. Steuerung des expliziten Cursors. Explizite Cursor Funktionen

Explizite Cursor. Cursor. Steuerung des expliziten Cursors. Explizite Cursor Funktionen Explizite Jedes SQL Statement, das der Oracle Server ausführt, hat einen individuellen, der verbunden ist mit: Implizitem : Declariert für alle DML-Statements und PL/SQL SELECT Statements. Explizitem :

Mehr

Oracle Datenbankprogrammierung mit PL/SQL Grundlagen

Oracle Datenbankprogrammierung mit PL/SQL Grundlagen Oracle Datenbankprogrammierung mit PL/SQL Grundlagen Seminarunterlage Version: 12.05 Version 12.05 vom 29. Januar 2015 Dieses Dokument wird durch die veröffentlicht.. Alle Rechte vorbehalten. Alle Produkt-

Mehr

PL/pgSQL. VL Datenbanksysteme. Ingo Feinerer

PL/pgSQL. VL Datenbanksysteme. Ingo Feinerer PL/pgSQL VL Datenbanksysteme Ingo Feinerer Arbeitsbereich Datenbanken und Artificial Intelligence Institut für Informationssysteme Technische Universität Wien Gliederung Einführung PL/pgSQL-Programmteile

Mehr

Prozeduren und Trigger in Datenbanken

Prozeduren und Trigger in Datenbanken Prozeduren und Trigger in Datenbanken Holger Jakobs bibjah@bg.bib.de 2012-06-25 Prozeduren (stored procedures) bringen bei Datenbanken prinzipiell dasselbe, was sie bei gewöhnlichen Programmiersprachen

Mehr

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

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

Mehr

PL/pgSQL. VU Datenbanksysteme. Reinhard Pichler

PL/pgSQL. VU Datenbanksysteme. Reinhard Pichler PL/pgSQL VU Datenbanksysteme Reinhard Pichler Arbeitsbereich Datenbanken und Artificial Intelligence Institut für Informationssysteme Technische Universität Wien Wintersemester 2015/16 Gliederung Einführung

Mehr

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

WS 2010/11 Datenbanksysteme Fr 15:15 16:45 R 1.008. Vorlesung #6. SQL (Teil 4) Vorlesung #6 SQL (Teil 4) Fahrplan Besprechung der Übungsaufgaben Einschub: Self Joins (relevant fürs Praktikum) Dynamische Intergritätsbedingungen, das Trigger - Konzept von Oracle Prozedurale Erweiterungen,

Mehr

Kapitel 4 Dynamisches SQL

Kapitel 4 Dynamisches SQL Kapitel 4 Dynamisches SQL Flien zum Datenbankpraktikum Wintersemester 2010/11 LMU München 2008 Thmas Bernecker, Tbias Emrich unter Verwendung der Flien des Datenbankpraktikums aus dem Wintersemester 2007/08

Mehr

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

Oracle 12c: Neuerungen in PL/SQL. Roman Pyro DOAG 2014 Konferenz Oracle 12c: Neuerungen in PL/SQL Roman Pyro DOAG 2014 Konferenz Herrmann & Lenz Services GmbH Herrmann & Lenz Solutions GmbH Erfolgreich seit 1996 am Markt Firmensitz: Burscheid (bei Leverkusen) Beratung,

Mehr

Datenbanken 1 und Objektorientierte Datenbanken

Datenbanken 1 und Objektorientierte Datenbanken Struktur eines PLSQL Blocks DECLARE Definition und Initialisierung 1 der im Block benutzten Variablen und Cursors EXCEPTION Wertzuweisungen, Operationen

Mehr

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

Dipl. Inf. Dipl. Math. Y. Orkunoglu Datum: 11.09.2009 Hochschule Darmstadt DATENBANKEN Fachbereich Informatik Praktikum 3 Dipl. Inf. Dipl. Math. Y. Orkunoglu Datum: 11.09.2009 PL/SQL Programmierung Anwendung des Cursor Konzepts und Stored Procedures Und Trigger

Mehr

11 Anwendungsprogrammierung

11 Anwendungsprogrammierung 11 11 11.1 Programmiersprachenanbindung 11.2 11.3 183 11 Programmiersprachenanbindung Programmiersprachenanbindung Kopplungsarten: prozedurale oder CALL-Schnittstellen (call level interface) Beispiele:

Mehr

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

PL/SQL. Deklaration von Variablen. Inhalt. PL/SQL Block Struktur. PL/SQL Block Struktur PL/SQL Deklaration von Variablen Inhalt Erkennen der PL/SQL Blockstruktur Beschreiben von Variablen in PL/SQL Unterschied zwischen PL/SQL und nicht-pl/sql Variablen Deklaration von PL/SQL Variablen Ausführen

Mehr

Gesicherte Prozeduren

Gesicherte Prozeduren Gesicherte Prozeduren Wenn eine Anwendung auf einer Client-Maschine läuft, wird normalerweise jede SQL-Anweisung einzeln vom Client an den Server gesandt, und jedes Ergebnistupel wird einzeln zurückgeliefert.

Mehr

Fakultät für Informatik & Wirtschaftsinformatik DB & IS II - SS 2015. Metadaten

Fakultät für Informatik & Wirtschaftsinformatik DB & IS II - SS 2015. Metadaten Fakultät für Informatik & Wirtschaftsinformatik Metadaten Metadaten sind Daten über Daten Data-Dictionary speichert Informationen über die Struktur der Daten, z.b.: Tabellen, Spalten, Datentypen Primär-

Mehr

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

Klausur PI Datenbanken II vom Name: Praktische Informatik (Krägeloh) Versehen Sie jedes Aufgabenblatt/-blätter mit Ihrem Namen und geben es mit ab! Seite 1 Aufgabe 1: ( 30 Punkte) 1) Ein Entity-Set E1 wird in die Subklassen S1 und S2 spezialisiert. Was bedeutet die Aussage:

Mehr

9. Einführung in PL/SQL

9. Einführung in PL/SQL 9. Einführung in PL/SQL Motivation für PL/SQL Aufbau von PL/SQL-Programmen Alternativen Steuerung des Programmablaufs Records Ausnahmebehandlung 215 Einwurf Oracle nutzt Transaktionssteuerung (wie alle

Mehr

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

Hochschule Karlsruhe Technik und Wirtschaft- 10.7.2013. Anhänge: Fakultät für Informatik und Wirtschaftsinformatik SS 2013 Prof. Schmidt. Fakultät für Informatik und Wirtschaftsinformatik SS 2013 Datenbanken und Informationssysteme II Szenario: Projektverwaltung. Es gibt Projekte, Projektleiter, Mitarbeiter und ihre Zuordnung zu Projekten.

Mehr

ISU 1. Ue_08/02_Datenbanken/SQL. 08 Datenbanken. Übung. SQL Einführung. Eckbert Jankowski. www.iit.tu-cottbus.de

ISU 1. Ue_08/02_Datenbanken/SQL. 08 Datenbanken. Übung. SQL Einführung. Eckbert Jankowski. www.iit.tu-cottbus.de 08 Datenbanken Übung SQL Einführung Eckbert Jankowski www.iit.tu-cottbus.de Datenmodell (Wiederholung, Zusammenfassung) Objekte und deren Eigenschaften definieren Beziehungen zwischen den Objekten erkennen/definieren

Mehr

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

SQL and PL/SQL unleashed. Neuheiten bei Oracle 11g und Oracle 12c im Bereich SQL und PL/SQL . Neuheiten bei Oracle 11g und Oracle 12c im Bereich SQL und PL/SQL Johannes Gritsch Themenübersicht Neue Scheduler Job Typen SQL_SCRIPT und BACKUP_SCRIPT SQL RowLimit: PERCENT und TIES WITH-Klausel mit

Mehr

SQL (Structured Query Language) Schemata Datentypen

SQL (Structured Query Language) Schemata Datentypen 2 SQL Sprachelemente Grundlegende Sprachelemente von SQL. 2.1 Übersicht Themen des Kapitels SQL Sprachelemente Themen des Kapitels SQL (Structured Query Language) Schemata Datentypen Im Kapitel SQL Sprachelemente

Mehr

Kontrollstrukturen in PL/SQL

Kontrollstrukturen in PL/SQL Kontrollstrukturen in PL/SQL.1 Bedingte Anweisungen... -2.1.1 Die IF-THEN-Anweisung... -2.1.2 Die IF-THEN-ELSE-Anweisung... -.1.3 Die IF-THEN-ELSIF-Anweisung... -.1. Die CASE-Anweisung... -6.2 Schleifen

Mehr

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

Whitepaper. Produkt: combit Relationship Manager. Datensatzhistorie mit dem SQL Server 2000 und 2005. combit GmbH Untere Laube 30 78462 Konstanz combit GmbH Untere Laube 30 78462 Konstanz Whitepaper Produkt: combit Relationship Manager Datensatzhistorie mit dem SQL Server 2000 und 2005 Datensatzhistorie mit dem SQL Server 2000 und 2005-2 - Inhalt

Mehr

Strukturierte Objekttypen

Strukturierte Objekttypen Strukturierte Objekttypen Der Typ t approxmatch row des letzten Beispiels ist ein sogenannter Objekttyp. Definition: Ein Objekttyp ist ein Datentyp, bei dem (u.u. verschiedene) bekannte Datentypen zu einem

Mehr

Oracle Database 11g: PL/SQL-Grundlagen

Oracle Database 11g: PL/SQL-Grundlagen Oracle Database 11g: PL/SQL-Grundlagen Schulungsunterlagen D49990DE20 Production 2.0 Januar 2010 Bestellnummer: D63765 Autor Brian Pottle Technischer Inhalt und Überarbeitung Tom Best Christoph Burandt

Mehr

Entwicklungsumgebung für die Laborübung

Entwicklungsumgebung für die Laborübung Entwicklungsumgebung für die Laborübung VU Datenbanksysteme Wolfgang Fischl Arbeitsbereich Datenbanken und Artificial Intelligence Institut für Informationssysteme Technische Universität Wien Wintersemester

Mehr

10. Programmieren in SQL

10. Programmieren in SQL 10. Programmieren in SQL Inhalt 10.1 Motivation 10.2 Prozedurale Erweiterungen von SQL 10.3 Gespeicherte Prozeduren 10.4 Benutzerdefinierte Funktionen 10.5 Verwendung anderer Programmiersprachen 2 10.1

Mehr

Fakultät für Informatik & Wirtschaftsinformatik DB & IS II - SS 2015. XMLType. Christian Senger/Andreas Schmidt XMLType 1/32

Fakultät für Informatik & Wirtschaftsinformatik DB & IS II - SS 2015. XMLType. Christian Senger/Andreas Schmidt XMLType 1/32 XMLType Christian Senger/Andreas Schmidt XMLType 1/32 XMLType von Oracle vordefinierter Typ zur Speicherung von nativen XML-Dokumenten unterstützt verschiedene Speichermodelle für XML structured storage

Mehr

Nachtrag: Farben. Farbblindheit. (Light und Bartlein 2004)

Nachtrag: Farben. Farbblindheit. (Light und Bartlein 2004) Nachtrag: Farben Farbblindheit (Light und Bartlein 2004) 1 Vorgeschlagene Farbskalen (Light and Bartlein 2004) Farbkodierung metrisch skalierter Daten Unterscheide: 1. Sequential Data (ohne Betonung der

Mehr

2 Anlegen und Konfigurieren von Datenbanken 35

2 Anlegen und Konfigurieren von Datenbanken 35 Inhalt 1 Einführung und Installation 9 1.1 Einführung 11 1.1.1 Aufbau 11 1.1.2 Schreibkonventionen 12 1.1.3 Zur Beispieldatenbank 13 1.1.4 Kurz-Installation 19 1.2 Die Oracle-Installation 20 1.3 Die Installation

Mehr

Datenbanken: Prozedurales SQL

Datenbanken: Prozedurales SQL Datenbanken: Prozedurales SQL Anwendungsentwicklung für relationale Datenbanken setzt voraus, dass prozedurale Abläufe programmiert werden können! (Endanwendern ist nicht zuzumuten, SQL zu lernen und selbst

Mehr

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

Steuerungsstrukturen. Ablaufsteuerung der PL/SQL Ausführung. IF Anweisungen. Einfaches IF Steuerungsstrukturen Ablaufsteuerung der PL/SQL Ausführung Der logische Ablauf der Ausführung kann mit If und Loop Strukturen verändert werden Bedingte Anweisungen: IF-THEN-END IF IF-THEN-ELSE-END IF IF-THEN-ELSIF-END

Mehr

10. Programmieren in SQL

10. Programmieren in SQL 10. Programmieren in SQL Inhalt 10.1 Motivation 10.2 Prozedurale Erweiterungen von SQL 10.3 Gespeicherte Prozeduren 10.4 Benutzerdefinierte Funktionen 10.5 Verwendung anderer Programmiersprachen 2 10.1

Mehr

Es geht also im die SQL Data Manipulation Language.

Es geht also im die SQL Data Manipulation Language. 1 In diesem Abschnitt wollen wir uns mit den SQL Befehlen beschäftigen, mit denen wir Inhalte in Tabellen ( Zeilen) einfügen nach Tabelleninhalten suchen die Inhalte ändern und ggf. auch löschen können.

Mehr

Oracle und LDAP. Zugriff auf LDAP-Daten aus einer Oracle-DB. Martin Busik busik@wlp-systems.de

Oracle und LDAP. Zugriff auf LDAP-Daten aus einer Oracle-DB. Martin Busik busik@wlp-systems.de Oracle und LDAP Zugriff auf LDAP-Daten aus einer Oracle-DB Martin Busik busik@wlp-systems.de Lightweight Directory LDAP Access Protocol LDAP dc=de dc=wlp Systems dc=drucker cn=lj4100d cn=canon photo ou=mitarbeiter

Mehr

Datenbanken SQL Einführung Datenbank in MySQL einrichten mit PhpMyAdmin

Datenbanken SQL Einführung Datenbank in MySQL einrichten mit PhpMyAdmin Datenbanken SQL Einführung Datenbank in MySQL einrichten mit PhpMyAdmin PhpMyAdmin = grafsches Tool zur Verwaltung von MySQL-Datenbanken Datenbanken erzeugen und löschen Tabellen und Spalten einfügen,

Mehr

Objektrelationale, erweiterbare Datenbanken WS 04/05

Objektrelationale, erweiterbare Datenbanken WS 04/05 Eidgenössische Technische Hochschule Zürich Swiss Federal Institute of Technology Zurich Institut für Informationssysteme Dr.C.Türker Objektrelationale, erweiterbare Datenbanken WS 0405 Übung 8 Aufgabe

Mehr

<Insert Picture Here> Security-Basics. Privilegien, Rollen, SQL und PL/SQL - inkl. 12c-Update. Carsten Czarski, ORACLE Deutschland B.V. Co.

<Insert Picture Here> Security-Basics. Privilegien, Rollen, SQL und PL/SQL - inkl. 12c-Update. Carsten Czarski, ORACLE Deutschland B.V. Co. Security-Basics Privilegien, Rollen, SQL und PL/SQL - inkl. 12c-Update Carsten Czarski, ORACLE Deutschland B.V. Co. KG Themen Rechte, Rollen und PL/SQL: Grundsätzliches Invokers vs.

Mehr

3 Query Language (QL) Einfachste Abfrage Ordnen Gruppieren... 7

3 Query Language (QL) Einfachste Abfrage Ordnen Gruppieren... 7 1 Data Definition Language (DDL)... 2 1.1 Tabellen erstellen... 2 1.1.1 Datentyp...... 2 1.1.2 Zusätze.... 2 1.2 Tabellen löschen... 2 1.3 Tabellen ändern (Spalten hinzufügen)... 2 1.4 Tabellen ändern

Mehr

7. Datenbank-Zugriff. Vorlesung und Übung Dr. Peter Pfahler Institut für Informatik Universität Paderborn. Zum Beispiel aus PHP-Skripten: Client 7-2

7. Datenbank-Zugriff. Vorlesung und Übung Dr. Peter Pfahler Institut für Informatik Universität Paderborn. Zum Beispiel aus PHP-Skripten: Client 7-2 5 Vorlesung und Übung Dr. Peter Pfahler Institut für Informatik Universität Paderborn 7 7. Datenbank-Zugriff Zum Beispiel aus PHP-Skripten: Client 7-2 Struktur einer Datenbank 7-3 Erzeugen von Datenbanken

Mehr

Abfragen (Queries, Subqueries)

Abfragen (Queries, Subqueries) Abfragen (Queries, Subqueries) Grundstruktur einer SQL-Abfrage (reine Projektion) SELECT [DISTINCT] {* Spaltenname [[AS] Aliasname ] Ausdruck} * ; Beispiele 1. Auswahl aller Spalten SELECT * ; 2. Auswahl

Mehr

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

zu große Programme (Bildschirmseite!) zerlegen in (weitgehend) unabhängige Einheiten: Unterprogramme Bisher Datentypen: einfach Zahlen, Wahrheitswerte, Zeichenketten zusammengesetzt Arrays (Felder) zur Verwaltung mehrerer zusammengehörender Daten desselben Datentypes eindimensional, mehrdimensional, Array-Grenzen

Mehr

Datenbanksysteme I Datenbankprogrammierung. 15.6.2009 Felix Naumann

Datenbanksysteme I Datenbankprogrammierung. 15.6.2009 Felix Naumann Datenbanksysteme I Datenbankprogrammierung 15.6.2009 Felix Naumann SQL mit einer Programmiersprache verbinden 2 Embedded SQL Kombiniert SQL mit 7 Programmiersprachen ADA, C, Cobol, Fortran, M, Pascal,

Mehr

7. Datenbank-Zugriff. Vorlesung und Übung Dr. Peter Pfahler Institut für Informatik Universität Paderborn. Zum Beispiel aus PHP-Skripten: Client 7-2

7. Datenbank-Zugriff. Vorlesung und Übung Dr. Peter Pfahler Institut für Informatik Universität Paderborn. Zum Beispiel aus PHP-Skripten: Client 7-2 5 Vorlesung und Übung Dr. Peter Pfahler Institut für Informatik Universität Paderborn 7 7. Datenbank-Zugriff Zum Beispiel aus PHP-Skripten: Client 7-2 Struktur einer Datenbank 7-3 Erzeugen von Datenbanken

Mehr

Einführung in SQL. 1. Grundlagen SQL. Structured Query Language. Viele Dialekte. Unterteilung: i. DDL (Data Definition Language)

Einführung in SQL. 1. Grundlagen SQL. Structured Query Language. Viele Dialekte. Unterteilung: i. DDL (Data Definition Language) Einführung in SQL 1. Grundlagen Structured Query Language Viele Dialekte Unterteilung: i. DDL (Data Definition Language) ii. iii. DML (Data Modifing Language) DRL (Data Retrival Language) 1/12 2. DDL Data

Mehr

Kapitel 10. JDBC und SQLJ. Prof. Dr. Wolfgang Weber Vorlesung Datenbanken 1

Kapitel 10. JDBC und SQLJ. Prof. Dr. Wolfgang Weber Vorlesung Datenbanken 1 Kapitel 10 JDBC und SQLJ 1 JDBC und SQLJ Bisher: Einbettung von SQL (statisch bzw. dynamisch) in C, C++, COBOL, ADA (embedded SQL) bzw. prozedurale Erweiterungen für SQL in Oracle (PL/SQL) Was ist mit

Mehr

SQL. SQL: Structured Query Language. Früherer Name: SEQUEL. Standardisierte Anfragesprache für relationale DBMS: SQL-89, SQL-92, SQL-99

SQL. SQL: Structured Query Language. Früherer Name: SEQUEL. Standardisierte Anfragesprache für relationale DBMS: SQL-89, SQL-92, SQL-99 SQL Früherer Name: SEQUEL SQL: Structured Query Language Standardisierte Anfragesprache für relationale DBMS: SQL-89, SQL-92, SQL-99 SQL ist eine deklarative Anfragesprache Teile von SQL Vier große Teile:

Mehr

4. Objektrelationales Typsystem Kollektionstypen. Nested Table

4. Objektrelationales Typsystem Kollektionstypen. Nested Table Nested Table Bei einer Nested Table handelt es sich um eine Tabelle als Attributwert. Im Gegensatz zu Varray gibt es keine Beschränkung bei der Größe. Definition erfolgt auf einem Basistyp, als Basistypen

Mehr

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

Datenbanksysteme. Dominic Pacher. Datenbanken und Informationssysteme (DBIS) Institut für Informatik Universität Innsbruck. dbis-informatik.uibk.ac. Datenbanksysteme Dominic Pacher Datenbanken und Informationssysteme (DBIS) Institut für Informatik Universität Innsbruck dbis-informatik.uibk.ac.at 1 Übersicht Was passiert in den kommenden 90 Minuten?

Mehr

Datenbanken. Autor Rainer Colgen (0171)

Datenbanken. Autor Rainer Colgen (0171) Autor Rainer Colgen (0171)8004088 - 2 - Inhaltsübersicht 1...3 2. SQL IN ENTWICKLUNGSUMGEBUNGEN...3 1. 2.1 EMBEDDED SQL...3 2.1.1 Einführung...3 2.1.2 Präprozessor...3 2.1.3 Statisches SQL...4 2.1.4 Dynamisches

Mehr

Geschäftslogik in der Datenbank

Geschäftslogik in der Datenbank Geschäftslogik in der Datenbank Architektur und Objektorientierte PL/SQL-Programmierung Andriy Terletskyy Lead Database Architect Hamburg, 17.06.2010 Geschäftslogik Geschäftslogik (engl. Business Logic,

Mehr

Einführung in PL/SQL. 8.1 Was ist PL/SQL?

Einführung in PL/SQL. 8.1 Was ist PL/SQL? 88 8 Einführung in PL/SQL Das Speichern und Auslesen von Informationen ist nur ein Teil jeder echten Applikation. Auch die einfachsten Programme müssen Aktionen durchführen, die sich mit SQL gar nicht

Mehr

Relationales Datenbanksystem Oracle

Relationales Datenbanksystem Oracle Relationales Datenbanksystem Oracle 1 Relationales Modell Im relationalen Modell wird ein relationales Datenbankschema wie folgt beschrieben: RS = R 1 X 1 SC 1... R n X n SC n SC a a : i=1...n X i B Information

Mehr

Elementare Konzepte von

Elementare Konzepte von Elementare Konzepte von Programmiersprachen Teil 2: Anweisungen (Statements) Kapitel 6.3 bis 6.7 in Küchlin/Weber: Einführung in die Informatik Anweisungen (statements) in Java Berechnung (expression statement)

Mehr

Objektrelationale und erweiterbare Datenbanksysteme

Objektrelationale und erweiterbare Datenbanksysteme Objektrelationale und erweiterbare Datenbanksysteme Erweiterbarkeit SQL:1999 (Objekt-relationale Modellierung) In der Vorlesung werden nur die Folien 1-12 behandelt. Kapitel 14 1 Konzepte objekt-relationaler

Mehr

SQL-Befehlsliste. Vereinbarung über die Schreibweise

SQL-Befehlsliste. Vereinbarung über die Schreibweise Vereinbarung über die Schreibweise Schlüsselwort [optionale Elemente] Beschreibung Befehlsworte in SQL-Anweisungen werden fett und in Großbuchstaben geschrieben mögliche, aber nicht zwingend erforderliche

Mehr

Oracle: Abstrakte Datentypen:

Oracle: Abstrakte Datentypen: Oracle: Abstrakte Datentypen: Oracle bietet zwei mögliche Arten um abstrakte Datentypen zu implementieren: Varying Array Nested Table Varying Array (kunde) kdnr kdname gekaufteart 1 Mustermann 1 4 5 8

Mehr

PL/SQL - Einführung. Prof. Dr. T. Kudraß 1

PL/SQL - Einführung. Prof. Dr. T. Kudraß 1 PL/SQL - Einführung Prof. Dr. T. Kudraß 1 Enge Integration mit SQL Vorteile von PL/SQL Höhere Performance Bessere Sicherheit Höhere Produktivität Nutzung vordefinierter Packages Unterstützung von OO Programmierung

Mehr

MySQL-Befehle. In diesem Tutorial möchte ich eine kurze Übersicht der wichtigsten Befehle von MySQL geben.

MySQL-Befehle. In diesem Tutorial möchte ich eine kurze Übersicht der wichtigsten Befehle von MySQL geben. MySQL-Befehle 1. Einleitung In diesem Tutorial möchte ich eine kurze Übersicht der wichtigsten Befehle von MySQL geben. 2. Arbeiten mit Datenbanken 2.1 Datenbank anlegen Eine Datenbank kann man wie folgt

Mehr

Fortgeschrittene SQL-Techniken für APEX-Formulare und Reports

Fortgeschrittene SQL-Techniken für APEX-Formulare und Reports Fortgeschrittene SQL-Techniken für APEX-Formulare und Reports Andreas Wismann WHEN OTHERS Beratung Projektmanagement Coaching rund um Oracle Application Express rund um Application Express Beratung Projektmanagement

Mehr

DATENBANKEN SQL UND SQLITE VON MELANIE SCHLIEBENER

DATENBANKEN SQL UND SQLITE VON MELANIE SCHLIEBENER DATENBANKEN SQL UND SQLITE VON MELANIE SCHLIEBENER INHALTSVERZEICHNIS 1. Datenbanken 2. SQL 1.1 Sinn und Zweck 1.2 Definition 1.3 Modelle 1.4 Relationales Datenbankmodell 2.1 Definition 2.2 Befehle 3.

Mehr

Objektorientierte PL/SQL- Programmierung

Objektorientierte PL/SQL- Programmierung Objektorientierte PL/SQL- Programmierung Autoren: Andriy Terletskyy und Michael Meyer DOAGNews Q3_2004 Dieses Werk ist urheberrechtlich geschützt. Die dadurch begründeten Rechte, insbesondere die der Übersetzung,

Mehr

Vergessene (?) SQL- und PL/SQL- Funktionen

Vergessene (?) SQL- und PL/SQL- Funktionen Vergessene (?) SQL- und PL/SQL- Funktionen Folge 1 Vortrag DOAG-Regiogruppe Freiburg/Südbaden 29.01.13 bulk collect (1) Aufgabenstellung: ca. 50.000 eingelesene Werte an Hand einer ID auf eine vorhandene

Mehr

Zugriff auf die Datenbank. Ulf Leser Wissensmanagement in der Bioinformatik

Zugriff auf die Datenbank. Ulf Leser Wissensmanagement in der Bioinformatik Zugriff auf die Datenbank Ulf Leser Wissensmanagement in der Bioinformatik Wie komme ich an die Datenbank? Alternativen Alles in Java machen JDBC Treiber von Oracle herunterladen Java programmieren Java-basierte

Mehr

Dieser Foliensatz darf frei verwendet werden unter der Bedingung, dass diese Titelfolie nicht entfernt wird.

Dieser Foliensatz darf frei verwendet werden unter der Bedingung, dass diese Titelfolie nicht entfernt wird. Thomas Studer Relationale Datenbanken: Von den theoretischen Grundlagen zu Anwendungen mit PostgreSQL Springer, 2016 ISBN 978-3-662-46570-7 Dieser Foliensatz darf frei verwendet werden unter der Bedingung,

Mehr

Modul 122 VBA Scribt.docx

Modul 122 VBA Scribt.docx Modul 122 VBA-Scribt 1/5 1 Entwicklungsumgebung - ALT + F11 VBA-Entwicklungsumgebung öffnen 2 Prozeduren (Sub-Prozeduren) Eine Prozedur besteht aus folgenden Bestandteilen: [Private Public] Sub subname([byval

Mehr

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

zu große Programme (Bildschirmseite!) zerlegen in (weitgehend) unabhängige Einheiten: Unterprogramme Bisher Datentypen: einfach Zahlen, Wahrheitswerte, Zeichenketten zusammengesetzt Arrays (Felder) zur Verwaltung mehrerer zusammengehörender Daten desselben Datentypes eindimensional, mehrdimensional, Array-Grenzen

Mehr

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

Art der Info: Technische Background Info Teil 3 (April 2002) Betrifft: Autor: Oracle9i New Features SQL und PL/SQL Patrick Malcherek (patrick.malcherek@trivadis.com) Art der Info: Technische Background Info Teil (April 00) Quelle: Aus dem NF9i-Kurs und NF9i-Techno-Circle

Mehr

5. SQL: Erstellen von Tabellen. Erzeugen und Löschen von Tabellen. Umgang mit Bedingungen (Constraints) Einfügen und Löschen von Daten

5. SQL: Erstellen von Tabellen. Erzeugen und Löschen von Tabellen. Umgang mit Bedingungen (Constraints) Einfügen und Löschen von Daten 5. SQL: Erstellen von Tabellen Erzeugen und Löschen von Tabellen Umgang mit Bedingungen (Constraints) Einfügen und Löschen von Daten 106 SQL Structured Query Language Historie: Anfänge ca. 1974 als SEQUEL

Mehr

SQL-Befehlsliste. Vereinbarung über die Schreibweise

SQL-Befehlsliste. Vereinbarung über die Schreibweise Vereinbarung über die Schreibweise Schlüsselwort [optionale Elemente] Beschreibung Befehlsworte in SQL-Anweisungen werden in Großbuchstaben geschrieben mögliche, aber nicht zwingend erforderliche Teile

Mehr

Übung: Data Warehousing und Data Mining

Übung: Data Warehousing und Data Mining Übung: Data Warehousing und Data Mining Sebastian Wandelt 20. Oktober 2011 wandelt@informatik.hu-berlin.de Überblick Organisatorisches Kurze Einführung JDBC PL/SQL 1. Aufgabenblatt Ablauf des Semesters

Mehr

SQL-Vertiefung. VU Datenbanksysteme. Reinhard Pichler

SQL-Vertiefung. VU Datenbanksysteme. Reinhard Pichler SQL-Vertiefung VU Datenbanksysteme Reinhard Pichler Arbeitsbereich Datenbanken und Artificial Intelligence Institut für Informationssysteme Technische Universität Wien Wintersemester 2015/16 Gliederung

Mehr

PL/SQL Einführung 1.2.066 / 4053 1-1

PL/SQL Einführung 1.2.066 / 4053 1-1 1 PL/SQL Einführung 1.1 Einleitung... 1-4 1.2 Funktionsweise von PL/SQL... 1-6 1.3 Initialisierungsparameter in ORACLE 10g... 1-8 1.4 PL/SQL-Blockstruktur... 1-14 1.5 Arten von PL/SQL-Programmkonstrukten...

Mehr

Geschäftslogik in die Datenbank Umstellung eines Kernbanksystems

Geschäftslogik in die Datenbank Umstellung eines Kernbanksystems Geschäftslogik in die Datenbank Umstellung eines Kernbanksystems Michael Meyer Berenberg Bank Hamburg Schlüsselworte: PL/SQL, Objektorientierung, Oracle Types, XML, Zentralisierung der Geschäftslogik,

Mehr

Kap. 1.2 Existierende Infrastruktur am Beispiel von Oracle9

Kap. 1.2 Existierende Infrastruktur am Beispiel von Oracle9 Kap. 1.2 Existierende Infrastruktur am Beispiel von Oracle9 PL/SQL Packages & Stored Procedures Verteilte Datenbanken (DB-Links) Verteilte Transaktionen Kapitel 1: Workshop Oracle9 1 PL/SQL Procedural

Mehr

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

Einführung in den Einsatz von Objekt-Orientierung mit C++ I Einführung in den Einsatz von Objekt-Orientierung mit C++ I ADV-Seminar Leiter: Mag. Michael Hahsler Syntax von C++ Grundlagen Übersetzung Formale Syntaxüberprüfung Ausgabe/Eingabe Funktion main() Variablen

Mehr

Inhalt: 1. Einleitung... S. 1 2. Stored Procedures... S. 2 3. Stored Functions... S. 4 4. Procedures ändern und anzeigen lassen... S. 5 5.

Inhalt: 1. Einleitung... S. 1 2. Stored Procedures... S. 2 3. Stored Functions... S. 4 4. Procedures ändern und anzeigen lassen... S. 5 5. Inhalt: 1. Einleitung... S. 1 2. Stored Procedures... S. 2 3. Stored Functions... S. 4 4. Procedures ändern und anzeigen lassen... S. 5 5. Cursor, Ablaufsteuerung, DECLARE-Statements... S. 6 5.1. DECLARE-Statements...

Mehr

Oracle 12c: Neuerungen in PL/SQL

Oracle 12c: Neuerungen in PL/SQL Oracle 12c: Neuerungen in PLSQL Roman Pyro Herrmann & Lenz Services GmbH Burscheid Schlüsselworte Neuerungen PLSQL 12c, Exception Handling, Rechteverwaltung, Kontextwechsel SQL- PLSQL- Engine Einleitung

Mehr

Datenbanken SQL. Insert, Update, Delete, Drop. Krebs

Datenbanken SQL. Insert, Update, Delete, Drop. Krebs Datenbanken SQL Insert, Update, Delete, Drop Krebs Inhalt 1. Datensätze einfügen: INSERT 2. Datensätze verändern: UPDATE 3. Datensätze löschen: DROP vs. DELETE Beispiel Datenbank Schule Klasse P_Klasse

Mehr

C.3 Funktionen und Prozeduren

C.3 Funktionen und Prozeduren C3 - Funktionen und Prozeduren Funktionsdeklarationen in Pascal auch in Pascal kann man selbstdefinierte Funktionen einführen: Funktionen und Prozeduren THEN sign:= 0 Funktion zur Bestimmung des Vorzeichens

Mehr

Mengenvergleiche: Alle Konten außer das, mit dem größten Saldo.

Mengenvergleiche: Alle Konten außer das, mit dem größten Saldo. Mengenvergleiche: Mehr Möglichkeiten als der in-operator bietet der θany und der θall-operator, also der Vergleich mit irgendeinem oder jedem Tupel der Unteranfrage. Alle Konten außer das, mit dem größten

Mehr

C++ Teil 2. Sven Groß. 16. Apr IGPM, RWTH Aachen. Sven Groß (IGPM, RWTH Aachen) C++ Teil Apr / 22

C++ Teil 2. Sven Groß. 16. Apr IGPM, RWTH Aachen. Sven Groß (IGPM, RWTH Aachen) C++ Teil Apr / 22 C++ Teil 2 Sven Groß IGPM, RWTH Aachen 16. Apr 2015 Sven Groß (IGPM, RWTH Aachen) C++ Teil 2 16. Apr 2015 1 / 22 Themen der letzten Vorlesung Hallo Welt Elementare Datentypen Ein-/Ausgabe Operatoren Sven

Mehr

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

Aufgabenstellung. Bekannte Lösungsansätze. Die Idee. Native Informix Architektur Herbert Birkenbach 28.03.2000 CSS Open Database Architecture CSS Open Database Architecture Die Firma CSS GmbH erstellt und vertreibt kaufmännische Standard-Software. Die Entwicklung basierte datenbankseitig

Mehr

Folien php/mysql Kurs der Informatikdienste

Folien php/mysql Kurs der Informatikdienste Folien php/mysql Kurs der Informatikdienste 1. Einführung in die Datenbank MySQL Kursbeispiel und Kursziele 1.1 Das Kursbeispiel: eine kleine Personalverwaltung 1.2 Was brauchen wir? 1.3 Ziele Kurs AEMS1,

Mehr

13 Stored Procedures und Trigger...273 13.1 Einführung in PL/SQL...274 13.2 Datenbankanfragen und Cursor in PL/SQL...287 13.3 Trigger...

13 Stored Procedures und Trigger...273 13.1 Einführung in PL/SQL...274 13.2 Datenbankanfragen und Cursor in PL/SQL...287 13.3 Trigger... 13 Stored Procedures und Trigger...273 13.1 Einführung in PL/SQL...274 13.2 Datenbankanfragen und Cursor in PL/SQL...287 13.3 Trigger...296 14 Einführung in JDBC...305 14.1 Verbindungsaufbau...306 14.2

Mehr

5.8 Bibliotheken für PostgreSQL

5.8 Bibliotheken für PostgreSQL 5.8 Bibliotheken für PostgreSQL Haskell/WASH: Modul Dbconnect PHP: pqsql-funktionen Java/JSP: JDBC Perl: DBI database interface modul Vorläufige Version 80 c 2004 Peter Thiemann, Matthias Neubauer 5.9

Mehr

Datenbankprogrammierung 1

Datenbankprogrammierung 1 Datenbankprogrammierung 1 Die Folien basieren auf: Datenbanken: Konzepte und Sprachen, Andreas Heuer und Gunter Saake, mitp-verlag, 2. Auflage, 2000, http://wwwiti.cs.uni-magdeburg.de/biber/ Datenbanken

Mehr

Kap. 1.2 Existierende Infrastruktur am Beispiel von Oracle8

Kap. 1.2 Existierende Infrastruktur am Beispiel von Oracle8 Kap. 1.2 Existierende Infrastruktur am Beispiel von Oracle8 PL/SQL Packages & Stored Procedures Verteilte Datenbanken (DB-Links) Verteilte Transaktionen Kapitel 1.2: Workshop Oracle8 1 PL/SQL G Procedural

Mehr