PL/SQL - Programmierung von Programmeinheiten. © Prof. T. Kudraß, HTWK Leipzig Gespeicherte Prozeduren – Eine Prozedur ist ein benannter PL/SQL Block,

Slides:



Advertisements
Ähnliche Präsentationen
Object Relational Mapping (ORM). Objektmodell - Datenbankmodell.
Advertisements

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.
PL/SQL - Kurze Einführung -.
System J – Compiler – Praktikum: Datenbanksystementwicklung Knut Stolze
Projektübung Klimamodellierung
Projektübung Klimamodellierung André Paul. Vorbesprechung Projektübung Klimamodellierung ( ) – A. Paul.
Datensicherheit in DBMS
IS: Datenbanken, © Till Hänisch 2000 Übungen SQL.
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],
IS: Datenbanken, © Till Hänisch 2000 Übungen SQL.
Dynamische Webseiten Java servlets.
EINI-I Einführung in die Informatik für Naturwissenschaftler und Ingenieure I Kapitel 3 Claudio Moraga, Gisbert Dittrich FBI Unido
PL/SQL – Die prozedurale Erweiterungssprache Zu SQL
Oracle PL/SQL Server Pages (PSP). © Prof. T. Kudraß, HTWK Leipzig Grundidee: PSP – Internet-Seiten mit dynamischer Präsentation von Inhalten durch Einsatz.
Open Database Connectivity (ODBC). © Prof. T. Kudraß, HTWK Leipzig Open Database Connectivity (ODBC) Idee: – API für eine DBMS, das ein Call-Level-Interface.
Oracle WebServer - Einführung. © Prof. T. Kudraß, HTWK Leipzig Oracle Web Application Server HTML WebServer ® File system Static HTML PL/SQL Packages.
Entwicklung von XML-Anwendungen mit ORACLE XSU Oberseminar Datenbanken Andreas Rebs, 01INM.
Datenbank-Zugriffsschnittstellen am Beispiel von Oracle und PL/SQL.
SQL Pattern & Spezialitäten. © Prof. T. Kudraß, HTWK Leipzig Rekursive Anfragen Syntax (SQL:1999) WITH RECURSIVE Rekursionstabelle (Spaltenliste) AS (
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.
Oracle interMedia Audio Vortrag für das Seminar Oracle Zusatzoptionen Chris Haußmann.
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.
Datenbankentwicklung IV-LK
SQL PHP und MySQL Referat von Katharina Stracke und Carina Berning
Medien zwischen Technologie und Gesellschaft Dozent: Herr Prof. Dr. Manfred Thaller SS 13 Referent: Christian Braun.
IBM DB2 V8 for z/OS Neue Funktionen für AE und Applikationsprogramme
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 2012/13 Datenbanksysteme Fr 15:15 – 16:45 R Vorlesung #8 SQL (Teil 5)
WS 2009/10 Datenbanksysteme Fr 15:15 – 16:45 R Vorlesung #7 SQL (Teil 4)
Template v5 October 12, Copyright © Infor. All Rights Reserved.
Erläuterung der wichtigsten Befehle
Copyright Oracle Corporation, All rights reserved. 6 Unteranfragen (Subqueries)
Softwaresponsoren Mediasponsoren. Vorstellung KnowledgeCenter Neue Sprachfeautres in VB 9.0 LINQ to SQL in der Praxis.
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.
Torque in Turbine Team 3 Alexander Mittermair Michael Wesinger.
procedural language / structured query language
Structured Query Language
8 Erzeugen und Verwalten von Tabellen Ziele Kennenlernen der wichtigsten Datenbankobjekte Anlegen von Tabellen Datentypen zur Definition von Spalten.
2 Auswählen und Sortieren von Daten. 2-2 Filtern von Zeilen mit Selektion "…suche alle Angestellten in Abteilung 10" EMP EMPNO ENAME JOB... DEPTNO 7839KINGPRESIDENT.
Einführung Schedule: Timing Topic 60 minutes Lecture 60 minutes Total.
Integritätsbedingungen (Constraints)
10 Sichten (Views) Ziele Verständnis einer View Erzeugen einer View Lesen von Daten durch eine Sicht Ändern der Definition von Views Einfügen, Ändern.
7 Verändern von Daten. 9-2 Ziele Beschreibe jeden DML Befehl Einfügen von Zeilen in eine Tabelle Ändern von Zeilen in einer Tabelle Löschen von Zeilen.
11 Verwaltung von Abhängigkeiten. Ziele Am Ende dieser Lektion verfügen Sie über die folgenden Kenntnisse: Überwachen prozeduraler Abhängigkeiten Effekte.
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.
Einfache SQL-Befehle Schedule: Timing Topic 40 minutes Lecture
SQL-Prozeduren Charakteristika: Kapselung von SQL-Anweisungen in Prozeduren, die wiederholt aufgerufen werden können. Dazu Verbergen parametrisierter SQL-
Trigger-abhängige Client Interaktionen (bezüglich Oracle8i)
Datenbanken erstellen mit PostgreSQL
Datenbanken abfragen mit SQL
Sprachumfang von SQL Vier Kategorien DDL (Data Definition Language)
Abfragesprache SQL in ORACLE
Abfragesprache SQL in ORACLE
Left Join, Right Join, Outer Join
Funktionen, GROUP BY, HAVING Views anlegen und verwenden
(Structured Query Language)
 Präsentation transkript:

PL/SQL - Programmierung von Programmeinheiten

© Prof. T. Kudraß, HTWK Leipzig Gespeicherte Prozeduren – Eine Prozedur ist ein benannter PL/SQL Block, der eine Aktion ausführt. – Eine Prozedur kann in der Datenbank gespeichert sein als Datenbankobjekt zur wiederholten Ausführung.

© Prof. T. Kudraß, HTWK Leipzig Syntax zum Erzeugen von Prozeduren CREATE [OR REPLACE] PROCEDURE procedure_name (argument1 [mode1] datatype1, argument2 [mode2] datatype2,... IS [AS] PL/SQL Block; CREATE [OR REPLACE] PROCEDURE procedure_name (argument1 [mode1] datatype1, argument2 [mode2] datatype2,... IS [AS] PL/SQL Block;

© Prof. T. Kudraß, HTWK Leipzig Entwicklung von Prozeduren/Funktionen Text file Source Code P-Code Editieren Speichern in Datenbank Compile Execute 1 2 System editor OracleProcedureBuilder

© Prof. T. Kudraß, HTWK Leipzig Parameter-Modi IN OUT Muß bekannt sein Wert zum Subpro- gramm übermittelt; Rückgabe an Aufrufumgebung Initialisierte Variable Muß Variable sein OUT Muß bekannt sein Rückgabe an Aufrufumgebung Uninitialisierte Variable Muß Variable sein IN Default Wert wird zum Subprogram übermittelt Formaler Parameter wie Konstante Aktueller Parameter: Literal, Ausdruck, Kon- stante, init.Variable

© Prof. T. Kudraß, HTWK Leipzig IN-Parameter: Beispiel SQL> CREATE OR REPLACE PROCEDURE raise_salary 2 (v_id in emp.empno%TYPE) 3 IS 4 BEGIN 5UPDATE emp 6SET sal = sal * WHERE empno = v_id; 8 END raise_salary; 9 / Procedure created. SQL> EXECUTE raise_salary (7369) PL/SQL procedure successfully completed. SQL> CREATE OR REPLACE PROCEDURE raise_salary 2 (v_id in emp.empno%TYPE) 3 IS 4 BEGIN 5UPDATE emp 6SET sal = sal * WHERE empno = v_id; 8 END raise_salary; 9 / Procedure created. SQL> EXECUTE raise_salary (7369) PL/SQL procedure successfully completed. v_id7369

© Prof. T. Kudraß, HTWK Leipzig OUT-Parameter: Beispiel SQL> CREATE OR REPLACE PROCEDURE query_emp 1 (v_id INemp.empno%TYPE, 2 v_name OUTemp.ename%TYPE, 3 v_salary OUTemp.sal%TYPE, 4 v_comm OUTemp.comm%TYPE) 5 IS 6 BEGIN 7 SELECT ename, sal, comm 8 INTO v_name, v_salary, v_comm 9 FROM emp 10 WHERE empno = v_id; 11 END query_emp; 12 / SQL> CREATE OR REPLACE PROCEDURE query_emp 1 (v_id INemp.empno%TYPE, 2 v_name OUTemp.ename%TYPE, 3 v_salary OUTemp.sal%TYPE, 4 v_comm OUTemp.comm%TYPE) 5 IS 6 BEGIN 7 SELECT ename, sal, comm 8 INTO v_name, v_salary, v_comm 9 FROM emp 10 WHERE empno = v_id; 11 END query_emp; 12 /

© Prof. T. Kudraß, HTWK Leipzig OUT-Parameter und SQL*Plus SQL> START emp_query.sql Procedure created. SQL> START emp_query.sql Procedure created. SQL> VARIABLE g_namevarchar2(15) SQL> VARIABLE g_salarynumber SQL> VARIABLE g_commnumber SQL> VARIABLE g_namevarchar2(15) SQL> VARIABLE g_salarynumber SQL> VARIABLE g_commnumber SQL> EXECUTE query_emp (7654, :g_name, :g_salary, 2 :g_comm) PL/SQL procedure successfully completed. SQL> EXECUTE query_emp (7654, :g_name, :g_salary, 2 :g_comm) PL/SQL procedure successfully completed. SQL> PRINT g_name G_NAME MARTIN SQL> PRINT g_name G_NAME MARTIN

© Prof. T. Kudraß, HTWK Leipzig Parameter Passing Position Namen Kombination aus beiden

© Prof. T. Kudraß, HTWK Leipzig Parameter Passing (Beispielprozedur) SQL> CREATE OR REPLACE PROCEDURE add_dept 1 (v_name IN dept.dname%TYPE DEFAULT 'unknown', 2 v_loc IN dept.loc%TYPE DEFAULT 'unknown') 3 IS 4 BEGIN 5 INSERT INTO dept 6 VALUES (dept_deptno.NEXTVAL, v_name, v_loc); 7 END add_dept; 8 / SQL> CREATE OR REPLACE PROCEDURE add_dept 1 (v_name IN dept.dname%TYPE DEFAULT 'unknown', 2 v_loc IN dept.loc%TYPE DEFAULT 'unknown') 3 IS 4 BEGIN 5 INSERT INTO dept 6 VALUES (dept_deptno.NEXTVAL, v_name, v_loc); 7 END add_dept; 8 /

© Prof. T. Kudraß, HTWK Leipzig Parameter Passing (Beispiele) SQL> begin 2 add_dept; 3 add_dept ( 'TRAINING', 'NEW YORK'); 4 add_dept ( v_loc => 'DALLAS', v_name => 'EDUCATION') ; 5 add_dept ( v_loc => 'BOSTON') ; 6 end; 7 / PL/SQL procedure successfully completed. SQL> begin 2 add_dept; 3 add_dept ( 'TRAINING', 'NEW YORK'); 4 add_dept ( v_loc => 'DALLAS', v_name => 'EDUCATION') ; 5 add_dept ( v_loc => 'BOSTON') ; 6 end; 7 / PL/SQL procedure successfully completed. SQL>SELECT * FROM dept; DEPTNODNAMELOC unknownunknown 42TRAININGNEW YORK 43EDUCATIONDALLAS 44 unknownBOSTON SQL>SELECT * FROM dept; DEPTNODNAMELOC unknownunknown 42TRAININGNEW YORK 43EDUCATIONDALLAS 44 unknownBOSTON

© Prof. T. Kudraß, HTWK Leipzig Löschen von Prozeduren Mit SQL*Plus: Drop der serverseitigen Prozedur Beispiel Syntax DROP PROCEDURE procedure_name SQL> DROP PROCEDURE raise_salary; Procedure dropped. SQL> DROP PROCEDURE raise_salary; Procedure dropped. Mit Procedure Builder: Drop clientseitige oder serverseitige Prozedur

© Prof. T. Kudraß, HTWK Leipzig Zusammenfassung Prozeduren Eine Prozedur ist ein benannter PL/SQL Block, der eine Aktion ausführt. Parameter zum Übermitteln der Daten von der Aufrufumgebung zur Prozedur. Prozeduren können von jedem Tool oder Sprache aufgerufen werden, die PL/SQL unterstützen. Prozeduren können als Bausteine für eine Applikation dienen.