Prozedurale SQL-Erweiterungen
|
|
- Annika Neumann
- vor 7 Jahren
- Abrufe
Transkript
1 Prozedurale SQL-Erweiterungen Prozedurale SQL-Erweiterungen unterscheiden sich typischerweise durch die folgenden Punkte von dem Ansatz der Einbettung: Neue dedizierte Sprache mit direkter Integration der SQL-Anweisungen bekannteste Variante: PL/SQL von Oracle Ausführung der Programme immer im Datenbank-Server Zugriff auf Typinformation der Datenbank Integration des Cursor-Konzeptes in Kontrollstrukturen Objektrelationale Datenbanksysteme Hochschule Bonn-Rhein-Sieg, SS
2 Was ist PL/SQL? Procedural Language Extensions to SQL proprietäre Programmiersprache der Firma Oracle Abfragesprache (DML) mit zusätzlichen prozeduralen und objektorientierten Elementen Überprüfung von Syntax und Semantik (bzgl. Datenbank) zur Compile-Zeit Syntax angelehnt an ADA effiziente Ausführung, compiliert Objektrelationale Datenbanksysteme Hochschule Bonn-Rhein-Sieg, SS
3 Verwendung von PL/SQL In: anonymen PL/SQL-Blöcken (Scripts), Stored Procedures und User Defined Functions, Triggern und einer Reihe von Datenbank-Werkzeugen (Oracle APEX, Forms, etc.). Objektrelationale Datenbanksysteme Hochschule Bonn-Rhein-Sieg, SS
4 Kurze Geschichte zu PL/SQL PL/SQL 1.0 in Oracle 6 (1991), noch sehr eingeschränkt PL/SQL 2.0 in Oracle 7, schon deutlich ausgebaut, Stored Procedures, Packages PL/SQL 2.1 mit Oracle 7.1, dynamisches SQL, Unterstützung von DDL, User Defined Functions PL/SQL 2.2 mit Oracle 7.2, Verschlüsseln von Quelltext, Jobverarbeitung in der Datenbank PL/SQL 2.3 mit Oracle 7.3, Dateiein- und -ausgabe, PL/SQL-Tabellen PL/SQL 8.0 mit Oracle 8 (1999), Large Objects (LOBs), Kollektionstypen, Queueing Objektrelationale Datenbanksysteme Hochschule Bonn-Rhein-Sieg, SS
5 PL/SQL-Block Aufbau eines PL/SQL-Skripts: declare Variablendeklarationen begin SQL- und PL/SQL-Anweisungen exception Exception-Handler end; Datentypen: Datentypen: SQL- Datentpen, Cursor, Strukturen, Felder Kontrollstrukturen: SQL- Anweisungen, Zuweisungen, if, loop, for, while, Exceptions Exceptions: vordefinierte und selbstdefinierte Exceptions Deklarationsteil und Exception-Handler sind optional. Beliebige Schachtelung von Blöcken möglich. PL/SQL ist nicht case-sensitiv. Objektrelationale Datenbanksysteme Hochschule Bonn-Rhein-Sieg, SS
6 Verwendung von PL/SQL-Blöcken als anonyme Blöcke ad-hoc in Sql*Plus für die Definition einer Stored Procedure oder einer User Defined Function innerhalb und außerhalb eines Pakets dann CREATE PROCEDURE statt declare für die Definition von Methoden für selbstdefinierte Typen innerhalb und außerhalb eines Pakets Objektrelationale Datenbanksysteme Hochschule Bonn-Rhein-Sieg, SS
7 Kommentare Zeilenkommentar -- Bis zum Ende der Zeile Blockkommentar /* */ Objektrelationale Datenbanksysteme Hochschule Bonn-Rhein-Sieg, SS
8 Bildschirmausgaben Hierzu nutzt man das vordefinierte Paket dbms output. Beispiel: dbms_output.put_line( Hello World! ); Ausgabe von Hello World! plus Zeilentrenner. Die Prozedur put line ist überladen, es können auch andere Datentypen eingesetzt werden: number, date, put ermöglicht eine Ausgabe ohne Zeilentrenner. Da der PL/SQL-Block im Server ausgeführt wird, werden die Ausgaben in einem Puffer gesammelt und vom Client erst nach Beendigung des Skripts vollständig angezeigt. Der Puffer hat eine Standardgröße von Bytes, Anpassung mit dbms_output.enable(1024*1024); Setzt den Puffer auf 1 MB. Objektrelationale Datenbanksysteme Hochschule Bonn-Rhein-Sieg, SS
9 Zwei wichtige Hinweise zur PL/SQL-Nutzung Zur Aktivierung der Ausgabe im Server muss eine SQL-Option gesetzt werden, z.b. in Sql*Plus set serveroutput on In Sql*Plus wird die Ausführung von PL/SQL-Anweisungen durch das Zeichen / angestoßen. begin dbms_output.put_line( Hello World! ); end; / Objektrelationale Datenbanksysteme Hochschule Bonn-Rhein-Sieg, SS
10 Datentypen und Variablendeklarationen Es stehen alle Datentypen von SQL zur Verfügung, kein Type Mismatch number, char, varchar2, date, boolean Variablendeklaration zwischen declare und begin: declare n number; s varchar2(30); begin Variablen können den SQL-Wert NULL annehmen, Deklaration als NOT NULL möglich, dann Initialisierung erforderlich: n number not null := 0; s varchar2(30) := hello ; Objektrelationale Datenbanksysteme Hochschule Bonn-Rhein-Sieg, SS
11 Konstantendeklaration, hier ist ebenfalls Initialisierung erforderlich: eins constant number := 1; Keine Zuweisung an die Variable möglich. weiterer (einfacher) PL/SQL-Datentyp:PLS INTEGER entspricht int in Java, effizientere Repräsentation als number Objektrelationale Datenbanksysteme Hochschule Bonn-Rhein-Sieg, SS
12 Typ-Referenzierung in Variablendeklarationen Statt eines konkreten Typs kann Bezug genommen werden auf einen Typ eines Attributs einer Relation. name Customer.name%type; Damit hat die Variable name den Typ des Attributs name der Relation Customer. Für Stored Procedures ensteht dadurch eine Abhängigkeit, die im Data Dictionary verzeichnet wird. Eine Änderung des Attributstyps würde dazu führen, dass eine referenzierende Stored Procedure invalid wird. Mit einem einfachen recompile-befehl würde die Stored Procedure wieder valid. Objektrelationale Datenbanksysteme Hochschule Bonn-Rhein-Sieg, SS
13 Row-Types Es ist ebenfalls ein Bezug auf das Schema einer Relation möglich. cust Customer%rowtype; Damit hat die Variable cust einen strukturierten Typ (Record), der der Definition der Tabelle Customer entspricht. Der Zugriff auf die Komponenten erfolgt mit Hilfe der Dot-Notation: cust.name := Meier, Peter ; Dies kann z.b. direkt in SQL-Anweisungen genutzt werden: declare cname Customer.name%type; cust Customer%rowtype; begin Objektrelationale Datenbanksysteme Hochschule Bonn-Rhein-Sieg, SS
14 select name into cname from customer where id = 4711; select * into cust from customer where id = 32168; end; Objektrelationale Datenbanksysteme Hochschule Bonn-Rhein-Sieg, SS
15 Operatoren Vergleich: gleich: = ungleich: <> oder!= ansonsten die üblichen Vergleichsoperatoren IS NULL und IS NOT NULL LIKE und NOT LIKE BETWEEN IN Logische Operatoren: AND, OR und NOT Die üblichen arithmetischen Operatoren Konkatenation von Strings: Objektrelationale Datenbanksysteme Hochschule Bonn-Rhein-Sieg, SS
16 Kontrollstrukturen Bedingte Anweisung if Bedingung then end if; Verzweigung if Bedingung then else end if; Unbedingte Schleife loop Objektrelationale Datenbanksysteme Hochschule Bonn-Rhein-Sieg, SS
17 end loop; Sprung aus unbedingten Schleifen exit when Bedingung; While-Schleife while Bedingung loop end loop; Zählschleife for variable in unten..oben loop end loop; Die Zählvariable muss nicht deklariert sein. Von oben nach unten mittels in reverse statt in. Objektrelationale Datenbanksysteme Hochschule Bonn-Rhein-Sieg, SS
18 Parameterloser Cursor Deklaration eines benannten Cursors im Deklarationsteil, open, fetch und close im Ausführungsteil. declare v_summe number := 0; v_pos_preis number; cursor c_auftrag_pos is select anzahl*preis from auftrag_pos; begin OPEN c_auftrag_pos; loop FETCH c_auftrag_pos into v_pos_preis; exit when c_auftrag_pos%notfound; v_summe := v_summe + v_pos_preis; end loop; CLOSE c_auftrag_pos; end; Objektrelationale Datenbanksysteme Hochschule Bonn-Rhein-Sieg, SS
19 Cursor mit Parameter (1) declare v_summe number := 0; v_pos_preis number; cursor c_auftrag_pos (p_auftrag_nr in auftrag_pos.auftrag_nr%type) is select anzahl*preis from auftrag_pos where auftrag_nr = p_auftrag_nr; begin OPEN c_auftrag_pos (4711); loop FETCH c_auftrag_pos into v_pos_preis; exit when c_auftrag_pos%notfound; v_summe := v_summe + v_pos_preis; end loop; CLOSE c_auftrag_pos; end; Objektrelationale Datenbanksysteme Hochschule Bonn-Rhein-Sieg, SS
20 Cursor mit Parameter (2) declare v_summe number := 0; v_auftrag_pos auftrag_pos%rowtype; cursor c_auftrag_pos (p_auftrag_nr in auftrag_pos.auftrag_nr%type) is select * from auftrag_pos where auftrag_nr = p_auftrag_nr; begin OPEN c_auftrag_pos (4711); loop FETCH c_auftrag_pos into v_auftrag_pos; exit when c_auftrag_pos%notfound; v_summe := v_summe + v_auftrag_pos.anzahl * v_auftrag_pos.preis; end loop; CLOSE c_auftrag_pos; end; Objektrelationale Datenbanksysteme Hochschule Bonn-Rhein-Sieg, SS
21 Cursor-for-Schleife (1) declare cursor cursor name is select begin FOR variable name IN cursor name LOOP END LOOP; end; Objektrelationale Datenbanksysteme Hochschule Bonn-Rhein-Sieg, SS
22 Cursor-for-Schleife (2) Der Cursor wird unmittelbar vor Ausführung der for-schleife geöffnet und nach dem Verlassen automatisch geschlossen. Pro Schleifentupel wird ein Tupel verarbeitet (kein explizites Fetch notwendig). Innerhalb der Schleife steht die Schleifenvariable variable name für den Zugriff auf das aktuelle Tupel zur Verfügung. Die Schleifenvariable hat den Typ des Cursors. Der Status eines Cursors kann abgefragt werden. Objektrelationale Datenbanksysteme Hochschule Bonn-Rhein-Sieg, SS
23 Cursor-for-Schleife (3) declare v_summe number := 0; cursor c_auftrag_pos (p_auftrag_nr in auftrag_pos.auftrag_nr%type) is select * from auftrag_pos where auftrag_nr = p_auftrag_nr; begin for v_auftrag_pos in c_auftrag_pos(4711) loop v_summe := v_summe + v_auftrag_pos.anzahl * v_auftrag_pos.preis; end loop; end; Objektrelationale Datenbanksysteme Hochschule Bonn-Rhein-Sieg, SS
24 Dynamische Cursor-for-Schleife Statt Cursor-Deklaration direkte Formulierung der SQL-Anfrage im Schleifenkopf! declare v_summe number := 0; begin for v_auftrag_pos in (select * from auftrag_pos) loop v_summe := v_summe + v_auftrag_pos.anzahl * v_auftrag_pos.preis; end loop; end; Objektrelationale Datenbanksysteme Hochschule Bonn-Rhein-Sieg, SS
25 Cursor-Attribute %FOUND War der letzte Fetch erfolgreich? %NOTFOUND War der letzte Fetch nicht erfolgreich? %ROWCOUNT Liefert die Anzahl der mit Fetch gelesenen Tupel. %ISOPEN Ist der Cursor geöffnet? Objektrelationale Datenbanksysteme Hochschule Bonn-Rhein-Sieg, SS
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.
MehrProzedurale 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.
MehrEinführung in PL/SQL
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
MehrCrash-Kurs PL/SQL. Martin Landvoigt
Crash-Kurs PL/SQL Martin Landvoigt Martin@Landvoigt-Net.de 0171-1493 497 Übersicht Einführung: Warum Code in der DB? Ein Beispiel... Die Umgebung: SQLPLUS, TOAD, Aqua Data Studio... Objekte mit PL/SQL:
MehrExplizite 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 :
MehrEinfü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
MehrGesicherte 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.
MehrFunktionen. Ü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
MehrKapitel 4 Dynamisches SQL
Kapitel 4 Dynamisches SQL Flien zum Datenbankpraktikum Wintersemester 2012/13 LMU München 2008 Thmas Bernecker, Tbias Emrich 2010 Tbias Emrich, Erich Schubert unter Verwendung der Flien des Datenbankpraktikums
MehrOracle 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-
Mehr10. 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
MehrKapitel 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
MehrStruktur 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
MehrDatenbanken 1 und Objektorientierte Datenbanken
Struktur eines PLSQL Blocks DECLARE Definition und Initialisierung 1 der im Block benutzten Variablen und Cursors EXCEPTION Wertzuweisungen, Operationen
MehrKapitel 9. Embedded SQL. Prof. Dr. Wolfgang Weber Vorlesung Datenbanken 1
Kapitel 9 Embedded SQL Vorlesung Datenbanken 1 Embedded SQL (siehe auch [Date00]) Arbeitsweise ähnlich PL/SQL, allerdings: Normale Programmiersprache mit eingestreuten SQL-Befehlen und anderen Befehlen
MehrStrukturierte 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
MehrDynamisches 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
MehrEigene Funktionen innerhalb von pgsql
Eigene Funktionen innerhalb von pgsql Michael Dienert 25. November 2015 1 Warum noch eine Programmiersprache? SQL ist ein Standard, der von praktisch allen relationalen Datenbank-Servern als Abfragesprache
MehrOracle SQL. Seminarunterlage. Version vom
Seminarunterlage Version: 12.16 Version 12.16 vom 12. Oktober 2017 Dieses Dokument wird durch die veröffentlicht.. Alle Rechte vorbehalten. Alle Produkt- und Dienstleistungs-Bezeichnungen sind Warenzeichen
Mehr11 Anwendungsprogrammierung
11 11 11.1 Programmiersprachenanbindung 11.2 11.3 183 11 Programmiersprachenanbindung Programmiersprachenanbindung Kopplungsarten: prozedurale oder CALL-Schnittstellen (call level interface) Beispiele:
MehrVorlesung Datenbanksysteme vom PL/SQL (von Oracle) Einführung Deklarationen Cursor Ablaufsteuerung Fehlerbehandlung stored program units
Vorlesung Datenbanksysteme vom 10.10.2007 PL/SQL (von Oracle) Einführung Deklarationen Cursor Ablaufsteuerung Fehlerbehandlung stored program units PL/SQL-Programmteile in der Vorlesung Folien: Enthalten
Mehr2 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
MehrPL/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
MehrArbeit mit zusammengesetzten Datentypen
Arbeit mit zusammengesetzten Datentypen Zusammengesetzte Datentypen Typen: PL/SQL RECORDS PL/SQL TABELLEN Enthalten interne Komponenten Sind wiederverwendbar Copyright Oracle Corporation, 1998. All rights
MehrThemen 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
MehrZusammengesetzte Datentypen
Zusammengesetzte Datentypen.1 Records... -4.1.1 Implizite Typdeklaration mit %ROWTYPE... -6.1.2 Referenzierung eines Records... -6.2 PL/SQL Tables... -8.2.1 Deklaration einer PL/SQL Table... -8.3 Referenzierung
MehrProgrammieren für Fortgeschrittene Einführung in die Programmiersprache ABAP
Funktionsanalyse für einen programmgesteuerten Zugriff auf 3D-Modelle Robin Raetze Waldemar Gorbunov Braunschweig, 26.01.2017 GESIS, MV, Folie 1, Braunschweig, 23. Juni 2016 Programmieren für Fortgeschrittene
Mehr[ SQL] Wissen, das sich auszahlt
[www.teia.de SQL] Wissen, das sich auszahlt INHALT SEITE 12 [I] 1] Einführung in SQL und relationale Datenbanken 12 14 16 18 11 1.1 1.2 Einführung Die Structured Query Language (SQL) Tabellen Mehrere Tabellen
MehrKontrollstrukturen 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
MehrSteuerungsstrukturen. 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
MehrDipl. 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
MehrKlausur 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:
Mehr4. 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
Mehr2. Datenbank-Programmierung
2. Datenbank-Programmierung SQL ist eingeschränkt bezüglich der algorithmischen Mächtigkeit, z.b. Berechnung einer transitiven Hülle ist in Standard-SQL nicht möglich. Die Einschränkung ist von Bedeutung
MehrEinführung in die Programmierung mit VBA
Einführung in die Programmierung mit VBA Vorlesung vom 07. November 2016 Birger Krägelin Inhalt Vom Algorithmus zum Programm Programmiersprachen Programmieren mit VBA in Excel Datentypen und Variablen
MehrSQL 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
MehrPL/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
MehrPL/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
MehrSQL (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
MehrDatenbanken. Anwendungsentwicklung in Datenbanken: Prozedurale Spracherweiterung von SQL (z.b. PL/SQL bei Oracle)
Anwendungsentwicklung in Datenbanken: Unter Anwendungsentwicklung in Datenbanken versteht man die Entwicklung von Anwendungen, die über die Adhoc-Abfrage mit SQL hinausgeht. Es gibt verschiedene Möglichkeiten,
MehrOracle PL/SQL - Grundlagen
Oracle PL/SQL - Grundlagen Steven Feuerstein mit Bill Pribyl Deutsche Übersetzung von Matthias Kalle Dalheimer O'REILT Beijing Cambridge Köln Paris Sebastopol Taipei Tokyo Inhalt Vorwort Einleitung xiii
MehrÜbung zur Vorlesung Wissenschaftliches Rechnen Sommersemester 2012 Auffrischung zur Programmierung in C++, 1. Teil
MÜNSTER Übung zur Vorlesung Wissenschaftliches Rechnen Sommersemester 2012 Auffrischung zur Programmierung in C++ 1. Teil 11. April 2012 Organisatorisches MÜNSTER Übung zur Vorlesung Wissenschaftliches
MehrPL/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...
Mehr3. Anweisungen und Kontrollstrukturen
3. Kontrollstrukturen Anweisungen und Blöcke 3. Anweisungen und Kontrollstrukturen Mit Kontrollstrukturen können wir den Ablauf eines Programmes beeinflussen, z.b. ob oder in welcher Reihenfolge Anweisungen
MehrÜbung zur Vorlesung Wissenschaftliches Rechnen Sommersemester 2012 Auffrischung zur Programmierung in C++, 1. Teil
MÜNSTER Übung zur Vorlesung Wissenschaftliches Rechnen Sommersemester 2012 Auffrischung zur Programmierung in C++ 1. Teil 11. April 2012 Organisatorisches MÜNSTER Übung zur Vorlesung Wissenschaftliches
MehrInhaltsverzeichnis. Inhalt. 1 Einführung in die Datenbanktechnologie
3 Inhaltsverzeichnis 1 Einführung in die Datenbanktechnologie 1.1 Einleitung... 8 1.1.1 Zielsetzung... 8 1.1.2 Aufbau des Studienbuches... 9 1.1.3 Abgrenzung... 10 1.2 Grundbegriffe... 10 1.3 Datenbanksysteme...
MehrCursor erlauben eines zeilenweise Verarbeitung einer Tabelle oder eines Anfrageergebnisses in Transact-SQL
Cursor Cursor erlauben eines zeilenweise Verarbeitung einer Tabelle oder eines Anfrageergebnisses in Transact-SQL Cursor sind grob vergleichbar mit Iteratoren in modernen Programmiersprachen wie Java;
MehrAufbau eines dynamischen ETL Frameworks auf Basis eines PL/SQL Codegenerators
Aufbau eines dynamischen ETL Frameworks auf Basis eines PL/SQL Codegenerators München, 21. Nowember 2007 Nicola Marangoni & Jörg Westermayer Nicola.Marangoni@SHS-VIVEON.com Joerg.Westermayer@SHS-VIVEON.com
MehrDatenbanksysteme 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,
MehrOracle 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
MehrWS 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,
MehrKapitel 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
MehrSprachkonstrukte. Einführung in Java. Folie 1 von Mai Ivo Kronenberg
Sprachkonstrukte Einführung in Java Folie 1 von 20 12. Mai 2011 Ivo Kronenberg Inhalt Kommentare Identifier (Bezeichner) Variablen Numerische Ausdrücke und Typen Kontrollstrukturen Verzweigungen Bedingungen
MehrJava I Vorlesung Imperatives Programmieren
Java I Vorlesung 2 Imperatives Programmieren 3.5.2004 Variablen -- Datentypen -- Werte Operatoren und Ausdrücke Kontrollstrukturen: if Imperatives Programmieren Im Kern ist Java eine imperative Programmiersprache.
MehrEinfü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
MehrDatenbank-Anwendungsprogrammierung
Datenbank-Anwendungsprogrammierung Navigierende Ansätze Anbindung von SQL Weitere Ansätze Andreas Heuer, Gunter Saake Datenbanken I 11-1 Datenmanipulation im Netzwerkmodell User Working Area UWA User Working
MehrPowerful PL/SQL: Collections indizieren mit VARCHAR2-Indizes
Powerful PL/SQL: Collections indizieren mit VARCHAR2-Indizes Autor: Klaus Friemelt, MT AG DOAGNews Q1_2005 Dieses Werk ist urheberrechtlich geschützt. Die dadurch begründeten Rechte, insbesondere die der
MehrOracle PL/SQL Marco Skulschus Marcus Wiederstein
www.comelio-medien.com Oracle PL/SQL Marco Skulschus Marcus Wiederstein Oracle PL/SQL Marco Skulschus Marcus Wiederstein Oracle PL/SQL Marco Skulschus Marcus Wiederstein Webseite zum Buch: www.comelio-medien.com/buch-katalog/oracle/oracle_pl_sql
MehrPraktische SQL-Befehle 2
Praktische SQL-Befehle 2 Datenbanksysteme I WiSe 2018/2019 Todor Ivanov DB1 WS2018 1 Praktische SQL-Befehle Functions Views Triggers Voraussetzung: Laptop + MySQL/ MariaDB + Workbench! DB1 WS2018 2 Airport
MehrAufbau eines Verlaufsdatenmodells unter PL/SQL
Aufbau eines Verlaufsdatenmodells unter PL/SQL Dipl.-Math. Hans Pfeiffer debitel AG Niederlassung Elmshorn 20081020_TRISTAR-IT_PROGRAMM_LK 18_V11.PPT Agenda Verlaufsdatenmodell Anforderungen für den Aufbau
MehrNeue Wege zur Oracle-Migration
Neue Wege zur Oracle-Migration Laurenz Albe laurenz.albe@cybertec.at Cybertec Swiss PGDay 2018 Die Problemstellung DB-Migration besteht aus mehreren Teilen: Objektdefinitionen migrieren (CREATE TABLE,
MehrNachtrag: 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
MehrDatenbanksysteme I Übung: JDBC. Jana Bauckmann
Datenbanksysteme I Übung: JDBC Jana Bauckmann Wo reicht SQL alleine nicht? 2 Web-Anwendungen Daten übersichtlich und schön präsentieren Komplizierte Fragestellungen Sind sich 2 Tupel ähnlich? Duplikaterkennung
MehrPraktische Informatik 1
Praktische Informatik 1 Imperative Programmierung und Objektorientierung Karsten Hölscher und Jan Peleska Wintersemester 2011/2012 Was bisher geschah... Konzepte: Klassen und ihre...... Instanzen, die
MehrCADSTAR MRP-Link. MRP-Link ist erstellt von:
CADSTAR MRP-Link MRP-Link ist erstellt von: CSK CAD Systeme Kluwetasch Zip: 2161 Town: Altenholz Street: Struckbrook 9 Tel: +9-31-32917-0 Fax: +9-31-32917-26 Web: http://www.cskl.de E-Mail: Kluwetasch@cskl.de
MehrGedächtnis. Während der Abarbeitung eines Algorithmus müssen sich Dinge gemerkt werden bzw. auf Dingen wird gerechnet. Zugriff.
Gedächtnis Während der Abarbeitung eines Algorithmus müssen sich Dinge gemerkt werden bzw. auf Dingen wird gerechnet Hauptspeicher 38265 Telefon CPU Gedächtnis Vorlesender Zugriff Verarbeitungseinheit
Mehr10. 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
Mehrzu 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
MehrOracle PL/SQL und Datenbankprogrammierung - LVC
Oracle University Kontakt: +43 (0)1 33 777 401 Oracle PL/SQL und Datenbankprogrammierung - LVC Dauer: 5 Tage Lerninhalte Dieser Kurs richtet sich an Oracle8i-, Oracle9i- und Oracle Database 10g-Benutzer.
MehrEntwicklungsumgebung für die Laborübung
Entwicklungsumgebung für die Laborübung VL Datenbanksysteme Ingo Feinerer Arbeitsbereich Datenbanken und Artificial Intelligence Institut für Informationssysteme Technische Universität Wien Gliederung
MehrGespeicherte Prozeduren
Gespeicherte Prozeduren Lehrveranstaltung Datenbanktechnologien Prof. Dr. Ingo Claßen Prof. Dr. Martin Kempa Hochschule für Technik und Wirtschaft Berlin Variablen und Typen Elementare Sprachelemente Fallunterscheidung
MehrKapitel 4. Programmierkurs. Datentypen. Arten von Datentypen. Wiederholung Kapitel 4. Birgit Engels, Anna Schulze WS 07/08
Kapitel 4 Programmierkurs Birgit Engels, Anna Schulze Wiederholung Kapitel 4 ZAIK Universität zu Köln WS 07/08 1 / 23 2 Datentypen Arten von Datentypen Bei der Deklaration einer Variablen(=Behälter für
MehrMetadaten oder Metainformationen sind Daten, die Informationen über Merkmale anderer Daten enthalten, aber nicht diese Daten selbst (Wikipedia)
Metadaten oder Metainformationen sind Daten, die Informationen über Merkmale anderer Daten enthalten, aber nicht diese Daten selbst (Wikipedia) Dr. Christian Senger Metadaten 1 Vorgehen bei ER Modellierung
MehrObjektrelationale 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
Mehr10. 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
MehrJAVA-Datentypen und deren Wertebereich
Folge 8 Variablen & Operatoren JAVA 8.1 Variablen JAVA nutzt zum Ablegen (Zwischenspeichern) von Daten Variablen. (Dies funktioniert wie beim Taschenrechner. Dort können Sie mit der Taste eine Zahl zwischenspeichern).
Mehr(Aufgaben zu Wertzuweisungen siehe Vorlesungsbeilage S. 49)
Anweisungen Eine Anweisung ist eine in einer beliebigen Programmiersprache abgefaßte Arbeitsvorschrift für einen Computer. Jedes Programm besteht aus einer bestimmten Anzahl von Anweisungen. Wir unterscheiden
MehrNeuerungen in Marco Patzwahl MuniQSoft GmbH Unterhaching
Neuerungen in 12.2 Marco Patzwahl MuniQSoft GmbH Unterhaching Schlüsselworte Neuerungen in 12.2, DBA Einleitung Jede neue Datenbankversion bringt diverse Neuerungen mit. Nur welche sind wichtig und welche
MehrWhitepaper. 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
MehrDatenbanken: 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
MehrBeispiele für Ausdrücke. Der imperative Kern. Der imperative Kern. Imperativer Kern - Kontrollstrukturen. Deklarationen mit Initialisierung
Beispiele für Ausdrücke Der imperative Kern Deklarationen mit Initialisierung Variablendeklarationen int i = 10; int j = 15; Beispiele für Ausdrücke i+j i++ i & j i j [] [static]
MehrObjektorientierte PL/SQL-Entwicklung Ein Erfahrungsbericht aus Sicht von JAVA-Entwicklern
Thema Objektorientierte PL/SQL-Entwicklung Ein Erfahrungsbericht aus Sicht von JAVA-Entwicklern Referent: Frank Sanders Seite 1 Inhalt Der Vortrag hat einen sehr kurzen Einleitungsteil der sich mit Objektorientierung
MehrProgrammiertechnik Kontrollstrukturen
Programmiertechnik Kontrollstrukturen Prof. Dr. Oliver Haase Oliver Haase Hochschule Konstanz 1 Was sind Kontrollstrukturen? Kontrollstrukturen erlauben es, ein Programm nicht nur Zeile für Zeile auszuführen,
Mehr1 Bedingte Anweisungen. 2 Vergleiche und logische Operatoren. 3 Fallunterscheidungen. 4 Zeichen und Zeichenketten. 5 Schleifen.
Themen der Übung Kontrollstrukturen, Pseudocode und Modulo-Rechnung CoMa-Übung III TU Berlin 9.10.01 1 Bedingte Anweisungen Vergleiche und logische Operatoren 3 Fallunterscheidungen 4 Zeichen und Zeichenketten
MehrDie Anweisung create table
SQL-Datendefinition Die Anweisung create table create table basisrelationenname ( spaltenname 1 wertebereich 1 [not null],... spaltenname k wertebereich k [not null]) Wirkung dieses Kommandos ist sowohl
MehrPrakt. Datenbankprogrammierung. Sommersemester 2005
Prakt. Datenbankprogrammierung Sommersemester 2005 II,2: Schreiben von ausführbaren Statements Martin-Luther-Universität Halle, Institut für Informatik, Datenbanken Christian Goldberg PL/SQL-Block-Syntax
MehrOracle Database 10g PL/SQL Programmierung
Oracle Database 10g PL/SQL Programmierung von Doris Heidenberger, Scott Urman, Ron Hardman, Michael McLaughlin 1. Auflage Hanser München 2005 Verlag C.H. Beck im Internet: www.beck.de ISBN 978 3 446 22849
MehrWS 2010/11 Datenbanksysteme Fr 15:15 16:45 R Vorlesung #3. SQL (Teil 1)
Vorlesung #3 SQL (Teil 1) Fahrplan Wiederholung/Zusammenfassung Relationales Modell Relationale Algebra Relationenkalkül Geschichte der Sprache SQL SQL DDL (CREATE TABLE...) SQL DML (INSERT, UPDATE, DELETE)
MehrModul 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
MehrOracle 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
MehrB Synopsis der Programmiersprachen ABAP, VB und Java
AnhangB.fm Seite 299 Dienstag, 22. April 2003 2:33 14 B Synopsis der Programmiersprachen ABAP, VB und Java Die folgenden Tabellen sind eine vergleichende Übersicht ausgewählter Sprachelemente der drei
MehrJavakurs FSS Lehrstuhl Stuckenschmidt. Tag 1 - Variablen und Kontrollstrukturen
Javakurs FSS 2012 Lehrstuhl Stuckenschmidt Tag 1 - Variablen und Kontrollstrukturen main Methode Startpunkt jeder Java Anwendung String[] args ist ein Array aus Parametern, die beim Aufruf über die Kommandozeile
MehrObjektrelationale Datenbanken
Vorlesung Datenbanksysteme vom 26.11.2008 Objektrelationale Datenbanken Konzepte objektrelationaler DBs SQL:1999 OO vs. OR Konzepte objektrelationaler Datenbanken Große Objekte (LOBs: Large Objects) Mengenwertige
MehrVorkurs Informatik WiSe 16/17
Java Ausdrücke und Variablen Dr. Werner Struckmann / Stephan Mielke, Jakob Garbe, 05.10.2016 Technische Universität Braunschweig, IPS Überblick Ausdrücke, Datentypen und Variablen Kontrollstrukturen 05.10.2016
MehrUnterlagen. CPP-Uebungen-08/
Unterlagen http://projects.eml.org/bcb/people/ralph/ CPP-Uebungen-08/ http://www.katjawegner.de/lectures.html Kommentare in C++ #include /* Dies ist ein langer Kommentar, der über zwei Zeilen
Mehr