Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

PL/SQL - Kurze Einführung -. 23. April 2003Übung Data Warehousing: PL/SQL 2 PL/SQL.. ist eine Oracle-eigene, prozedurale Programmiersprache Sämtliche.

Ähnliche Präsentationen


Präsentation zum Thema: "PL/SQL - Kurze Einführung -. 23. April 2003Übung Data Warehousing: PL/SQL 2 PL/SQL.. ist eine Oracle-eigene, prozedurale Programmiersprache Sämtliche."—  Präsentation transkript:

1 PL/SQL - Kurze Einführung -

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

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

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

5 23. April 2003Übung Data Warehousing: PL/SQL 5 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 into from where ;

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

7 23. April 2003Übung Data Warehousing: PL/SQL 7 Zuweisungen & SQL DECLARE gruppeGruppen.name%TYPE; punktezahlGruppen.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;

8 23. April 2003Übung Data Warehousing: PL/SQL 8 Kontrollflüsse LOOP EXIT WHEN... END LOOP; WHILE LOOP... END LOOP; FOR IN.. LOOP... END LOOP; IF THEN... ELSIF THEN... ELSE... END IF;

9 23. April 2003Übung Data Warehousing: PL/SQL 9 Cursor.. Problem bei erwähnten Zuweisungen von Tabellenwerten: funktioniert nur bei single-row- select, d.h. wenn ein einzelnes Tupel zurückgeliefert wird Abhilfe: die sogenannten Cursor sie arbeiten sämtliche Tupel aus dem Ergebnis nacheinander ab

10 23. April 2003Übung Data Warehousing: PL/SQL 10.. Cursor.. DECLARE CURSOR GruppenCursor IS SELECT name,punkte FROM Gruppen WHERE punkte <= 10 FOR UPDATE; BEGIN OPEN Gruppencursor; LOOP

11 23. April 2003Übung Data Warehousing: PL/SQL 11.. Cursor 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; CLOSE GruppenCursor; END;

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

13 23. April 2003Übung Data Warehousing: PL/SQL 13 Prozeduren & Funktionen Wie Prozeduren, Rückgabe über return ; select object_type, object_name from user_objects where object_type = 'PROCEDURE' or object_type = 'FUNCTION'; drop function ; CREATE OR REPLACE PROCEDURE.. ;

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


Herunterladen ppt "PL/SQL - Kurze Einführung -. 23. April 2003Übung Data Warehousing: PL/SQL 2 PL/SQL.. ist eine Oracle-eigene, prozedurale Programmiersprache Sämtliche."

Ähnliche Präsentationen


Google-Anzeigen