PL/SQL - Kurze Einführung -.

Slides:



Advertisements
Ähnliche Präsentationen
OmsCube Objektverwaltung, basierend auf einem relationalen Datenbankmanagementsystem.
Advertisements

Vorlesung Datenbank-programmierung
Datenintegrität Integitätsbedingungen Schlüssel
PL/SQL - Einführung. © Prof. T. Kudraß, HTWK Leipzig Vorteile Application Other DBMSs Application Oracle with PL/SQL SQL SQL SQL SQL SQLIF...THENSQLELSESQL.
PL/SQL - Programmierung von Programmeinheiten. © Prof. T. Kudraß, HTWK Leipzig Gespeicherte Prozeduren – Eine Prozedur ist ein benannter PL/SQL Block,
PL/SQL - Einführung 1.
Folien 2-5, 7-8 © Prof. Dr. Manfred Rössle (FH Aalen)
System J – Compiler – Praktikum: Datenbanksystementwicklung Knut Stolze
MySQL.
Prof. Dr. Andreas Schmietendorf
Systemüberblick Beispiele: Microsoft Access Oracle Ingres Informix
IS: Datenbanken, © Till Hänisch 2000 Tabellen In relationalen DB werden Daten in Tabellen organisiert Jede Spalte enthält eine bestimmte Art von Information,
IS: Datenbanken, © Till Hänisch 2000 CREATE TABLE Syntax: CREATE TABLE name ( coldef [, coldef] [, tableconstraints] ) coldef := name type [länge], [[NOT]NULL],
Publikation von XML-Daten mit XSQL Pages. © Prof. T. Kudraß, HTWK Leipzig Vorteile von XSQL Pages einfache Generierung von XML-Dokumenten auf der Basis.
PL/SQL - Einführung. © Prof. T. Kudraß, HTWK Leipzig Vorteile Application Other DBMSs Application Oracle with PL/SQL SQL SQL SQL SQL SQLIF...THENSQLELSESQL.
PL/SQL - Programmierung von Programmeinheiten. © Prof. T. Kudraß, HTWK Leipzig Gespeicherte Prozeduren – Eine Prozedur ist ein benannter PL/SQL Block,
Speichern von XML in Oracle. © Prof. T. Kudraß, HTWK Leipzig Ansätze zum Speichern von XML komplettes XML-Dokument in einer Tabellenspalte vom Typ CLOB.
PL/SQL - Programmierung von Programmeinheiten. © Prof. T. Kudraß, HTWK Leipzig Gespeicherte Prozeduren – Eine Prozedur ist ein benannter PL/SQL Block,
Text-Retrieval mit Oracle Vortrag von Andreas Mück & David Diestel.
Oracle interMedia Audio Vortrag für das Seminar Oracle Zusatzoptionen Chris Haußmann.
JDBC -Java Database Connectivity-. 15./22. April 2004JDBC2 JDBC.... verbindet Java-Programme mit SQL-basierten Datenbanken.. liefert eine generische SQL-API.
Aufgabe April 2004Übung Data Warehousing2 1: Accounts 'gruppe ' auf ' morawetz ' (IP: !) Oracle-Account gleichen Namens SQL*Plus:
- Übung - Ulf Leser Jörg Hakenberg
1 Datenintegrität Statische Bedingung (jeder Zustand) Dynamische Bedingung (bei Zustandsänderung) Bisher: Definition eines Schlüssels 1:N - Beziehung Angabe.
1 Kapitel 8: Datenintegrität. 2 Datenintegrität Statische Bedingung (jeder Zustand) Dynamische Bedingung (bei Zustandsänderung) Bisher: Definition eines.
GSI GSI Status Juni 2005 Michael Dahlinger, IT 14/6/2005.
JDBC: JAVA Database Connectivity
SQL-Tutorium Ernst Rodlmayr.
VS one Veranstalter: VSone Feb. 08 Folie 1 Copyright by XML-Serialisierung zur Persistierung von Objekten Thomas Schissler
Server.
IBM DB2 V8 for z/OS Neue Funktionen für AE und Applikationsprogramme
WS 2004/2005 Datenbanken II - 5W Mi 17:00 – 18:30 G 3.18 Vorlesung #4 Anfragebearbeitung (Teil 2)
Vergleich der verschiedenen kommerziellen Datenbanksysteme
Softwareentwicklung mit Oracle Lite & Delphi
FH-Hof Standard Query Language Richard Göbel. FH-Hof Geschichte der Sprache SQL System/R-Projekts von IBM zu Beginn der 70er Jahre: Entwicklung der Sprache.
Advanced Mapping Persistente Domänenmodelle mit JPA 2.0 und Bean Validation.
Dominick Baier Security Consultant thinktecture. 2 Wir unterstützen Software-Entwickler und Architekten bei der Realisierung von.NET- und Web Services-Projekten.
Client Server Architektur
WS 2013/14 Datenbanksysteme Do 17:00 – 18:30 R Vorlesung #4 SQL (Teil 1)
Vorlesung #4 SQL (Teil 1).
WS 2012/13 Datenbanksysteme Fr 15:15 – 16:45 R Vorlesung #8 SQL (Teil 5)
SS 2004 Datenbanken 4W Mi 13:30 – 15:00 G 2.30 Vorlesung #9 SQL (Teil 4)
WS 2009/10 Datenbanksysteme Fr 15:15 – 16:45 R Vorlesung #7 SQL (Teil 4)
Erläuterung der wichtigsten Befehle
Datenbanksysteme für hörer anderer Fachrichtungen
Einführung in Datenbankmodellierung und SQL
Compiled Queries: LINQ-Abfragen mit Pegasus-Stiefeln © msg systems ag, August Gordon Breuer IT Consultant & Software Engineer Travel & Logistics.
Office Business Anwendungen mit SharePoint Fabian Moritz | MVP Office SharePoint Server.
IBM i 7.1 DB2, SQL, XML, IFS, ODBC Andreas Prouza 2010
PL/SQL - Kurze Einführung April 2003Übung Data Warehousing: PL/SQL 2 PL/SQL.. ist eine Oracle-eigene, prozedurale Programmiersprache Sämtliche.
Datenbankanbindung mit
SQL Server 2005 CLR Integration Sebastian Weber Microsoft Deutschland GmbH
Structured Query Language
Data Warehousing Sommersemester Übung - Ulf Leser Jörg Hakenberg Mailingliste.
WS 2013/14 Datenbanksysteme Do 17:00 – 18:30 R Vorlesung #8 SQL (Teil 5)
11 Zugriffskontrolle (Access Control) Ziele Privilegien Rollen GRANT und REVOKE Befehl Privilegien Rollen GRANT und REVOKE Befehl.
SQL-Prozeduren Charakteristika: Kapselung von SQL-Anweisungen in Prozeduren, die wiederholt aufgerufen werden können. Dazu Verbergen parametrisierter SQL-
Prolog: Datenbanken Inhalt - Überblick - Erstellen einer Datenbank
1 Prof. Dr. Andreas SchmietendorfWS06/07 Übung 3 Test der Möglichkeiten des JDBC-Interfaces.
WS 2014/15 Datenbanksysteme Do 17:00 – 18:30 R Vorlesung #9 SQL Zusammenfassung.
Datenbanken abfragen mit SQL
© 2003, Rudolf Jansen Einsatz der XML-Features der Oracle 9i DB zur Systemintegration Rudolf Jansen Freiberuflicher Entwickler und Autor
SQL Structured Query Language Enzio Thiem. INHALT CREATE TABLE Anweisung Gängige Datentypen Beispiel CREATE TABLE Beispiel CREATE TABLE - erweitert Beispiel.
SQL Basics Schulung –
Das IT - Informationssystem
Sprachumfang von SQL Vier Kategorien DDL (Data Definition Language)
Vorlesung #4 Relationales Kalkül und SQL (Teil 1)
Abfragesprache SQL in ORACLE
Vorlesung #8 SQL (Teil 5).
Create Table, Rechte und Rollen
 Präsentation transkript:

PL/SQL - Kurze Einführung -

Übung Data Warehousing: PL/SQL Was fehlt noch? Konzept einer PL/SQL-Sprache in DB ausführlicher PL/SQL und Ablauf Konkrete Beispiele 15. April 2004 Übung Data Warehousing: PL/SQL

Übung Data Warehousing: PL/SQL .. ist eine Oracle-eigene, prozedurale Programmiersprache Sämtliche bekannten Konzepte können verwendet werden: Funktionen/ Prozeduren, Abfragen/bedingte Ausführung, Schleifen, etc. 15. April 2004 Übung Data Warehousing: PL/SQL

Übung Data Warehousing: PL/SQL Konzept Tight integration DDL / DML: einfach & effizient Stored procedures Verwendung in SQL Statements dynamisches SQL Security Kein direkter Zugriff durch Clients User benutzen stored procedures 15. April 2004 Übung Data Warehousing: PL/SQL

Übung Data Warehousing: PL/SQL Programmdateien Programme können in Dateien abgelegt werden Ausführung eines Programmes in SQL*Plus: „@meinprogramm{.sql}“ Programmdateien müssen mit einer Leerzeile enden 15. April 2004 Übung Data Warehousing: PL/SQL

Übung Data Warehousing: PL/SQL PL/SQL-Programme .. bestehen aus Blöcken, welche ineinander verschachtelt sein können: DECLARE .. /* Variablen-&Typdeklarationen */ BEGIN .. /* Programmcode, Funktionen .. */ EXCEPTION .. /* Exception-Handling */ END; 15. April 2004 Übung Data Warehousing: PL/SQL

Übung Data Warehousing: PL/SQL SQL in PL/SQL Erlaubte SQL-Statements: select, insert, delete, update + Transaktionen Nicht (direkt) erlaubt create, drop, alter SELECT hat eine eigene, abgewandelte Form: select <attribut> into <variable> from <tabelle> where <bedingung>; 15. April 2004 Übung Data Warehousing: PL/SQL

Variablen und Datentypen Alle von Oracle unterstützen Typen + NUMBER, BOOLEAN Ermittlung zur Compilezeit möglich DECLARE name VARCHAR(20); gruppe NUMBER; punktezahl Gruppen.punkte%TYPE; 15. April 2004 Übung Data Warehousing: PL/SQL

Übung Data Warehousing: PL/SQL Zuweisungen & SQL DECLARE gruppe Gruppen.name%TYPE; punktezahl Gruppen.punkte%TYPE; BEGIN SELECT name,punkte INTO gruppe, punktezahl FROM Gruppen WHERE punkte <= 10 FOR UPDATE; punktezahl := punktezahl + 1; INSERT INTO Gruppen VALUES (gruppe, punktezahl); END; 15. April 2004 Übung Data Warehousing: PL/SQL

Übung Data Warehousing: PL/SQL Kontrollflüsse LOOP EXIT WHEN <B> ... END LOOP; WHILE <B> LOOP ... END LOOP; FOR <V> IN <C1>..<C2> LOOP ... END LOOP; IF <B> THEN ... ELSIF <B2> THEN ... ELSE ... END IF; 15. April 2004 Übung Data Warehousing: PL/SQL

Übung Data Warehousing: PL/SQL Cursor .. Problem bei erwähnten Zuweisungen von Tabellenwerten: funktioniert nur bei single-row- select Abhilfe: die sogenannten Cursor arbeiten sämtliche Tupel aus dem Ergebnis nacheinander ab 15. April 2004 Übung Data Warehousing: PL/SQL

Übung Data Warehousing: PL/SQL .. Cursor .. DECLARE CURSOR GruppenCursor IS SELECT name,punkte FROM Gruppen WHERE punkte <= 10 FOR UPDATE; BEGIN OPEN Gruppencursor; <do something> CLOSE GruppenCursor; END; 15. April 2004 Übung Data Warehousing: PL/SQL

Übung Data Warehousing: PL/SQL .. Cursor LOOP FETCH GruppenCursor INTO gruppe,punktezahl; EXIT WHEN GruppenCursor%NOTFOUND; punktezahl := punktezahl * 2; DELETE FROM Gruppen WHERE CURRENT OF GruppenCursor; INSERT INTO Gruppen VALUES (gruppe,punktezahl); END LOOP; 15. April 2004 Übung Data Warehousing: PL/SQL

Prozeduren & Funktionen CREATE PROCEDURE GruppeEinfuegen( gruppe Gruppen.name%TYPE, punktezahl Gruppen.punkte%TYPE) AS BEGIN /* .. */ END GruppeEinfuegen; /* Hauptprogramm */ GruppeEinfuegen('group1',0); END; 15. April 2004 Übung Data Warehousing: PL/SQL

Prozeduren & Funktionen CREATE FUNCTION Quadriere(zahl NUMBER) RETURN NUMBER AS DECLARE q NUMBER; BEGIN q := zahl * zahl; RETURN zahl; END Quadriere; /* Hauptprogramm */ DECLARE r NUMBER; r := Quadriere(7); END; 15. April 2004 Übung Data Warehousing: PL/SQL

Prozeduren & Funktionen Anzeige aller Procedures/Functions: select object_type, object_name from user_objects where object_type = 'PROCEDURE' or object_type = 'FUNCTION'; Löschen einer Procedure/Function: drop function <funktions_name>; Überschreiben: CREATE OR REPLACE PROCEDURE .. ; 15. April 2004 Übung Data Warehousing: PL/SQL

Übung Data Warehousing: PL/SQL Fehlermeldungen Fehlermeldungen sind i.d.R. leider wenig aussagekräftig genauere Beschreibung über show errors procedure <name>; Anzeige des letzten Fehlers: SHO ERR; Positionsangaben oft ungenau! 15. April 2004 Übung Data Warehousing: PL/SQL

Übung Data Warehousing: PL/SQL Beispiel DECLARE qty_on_hand NUMBER(5); BEGIN SELECT quantity INTO qty_on_hand FROM inventory WHERE product = 'TENNIS RACKET'‚ FOR UPDATE OF quantity; IF qty_on_hand > 0 THEN UPDATE inventory SET quantity = quantity – 1 WHERE product = 'TENNIS RACKET'; INSERT INTO purchase_record VALUES ('Tennis racket purchased', SYSDATE); ELSE VALUES ('Out of tennis rackets', SYSDATE); END IF; COMMIT; END; 15. April 2004 Übung Data Warehousing: PL/SQL