Präsentation herunterladen
Die Präsentation wird geladen. Bitte warten
Veröffentlicht von:Achmad Bohlken Geändert vor über 10 Jahren
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!
Ähnliche Präsentationen
© 2024 SlidePlayer.org Inc.
All rights reserved.