Oracle PL/SQL kurz & gut
Von Steven Feuerstein, Bill Pribyl und Chip Dawes
4/5
()
Über dieses E-Book
- Blockstruktur, Bezeichner, Variablen, Datentypen und Deklarationen
- Anweisungen zur Ablaufsteuerung, zur Cursor-Verwaltung und zum Exception-Handling
- Aufruf von PL/SQL-Funktionen in SQL
- Datensätze, Prozeduren, Funktionen, Trigger und Packages
- Kompilationsoptionen, objektorientierte Features und Collections
Ähnlich wie Oracle PL/SQL kurz & gut
Ähnliche E-Books
Einführung in SQL: Daten erzeugen, bearbeiten und abfragen Bewertung: 0 von 5 Sternen0 BewertungenSQL von Kopf bis Fuß Bewertung: 4 von 5 Sternen4/5Einführung in Programmiersprachen Bewertung: 0 von 5 Sternen0 BewertungenC# 10 – kurz & gut Bewertung: 0 von 5 Sternen0 BewertungenNext Level JavaScript: Schlagworte Bewertung: 0 von 5 Sternen0 BewertungenC# 8.0 – kurz & gut Bewertung: 0 von 5 Sternen0 BewertungenPrinzipien des Softwaredesigns: Entwurfsstrategien für komplexe Systeme Bewertung: 0 von 5 Sternen0 BewertungenJavaScript objektorientiert: Verständlicher, flexibler und effizienter programmieren Bewertung: 0 von 5 Sternen0 BewertungenEinfach Java: Gleich richtig programmieren lernen Bewertung: 0 von 5 Sternen0 BewertungenDatenbanken: Grundlagen und Entwurf Bewertung: 0 von 5 Sternen0 BewertungenAlgorithmen: Grundlagen und Implementierung Bewertung: 0 von 5 Sternen0 BewertungenJava 8 - Die Neuerungen: Lambdas, Streams, Date and Time API und JavaFX 8 im Überblick Bewertung: 0 von 5 Sternen0 BewertungenC++-Standardbibliothek - kurz & gut Bewertung: 0 von 5 Sternen0 BewertungenSQL-Abfragen optimieren: Was Entwickler über Performance wissen müssen Bewertung: 0 von 5 Sternen0 BewertungenKompaktkurs C# 7 Bewertung: 0 von 5 Sternen0 BewertungenXML für Eilige Bewertung: 0 von 5 Sternen0 BewertungenJava – kurz & gut Bewertung: 0 von 5 Sternen0 BewertungenDas Excel SOS-Handbuch: Wie sie Excel (2010-2019 & 365) schnell & einfach meistern. Die All-in-One Anleitung für ihren privaten & beruflichen Excel-Erfolg! Bewertung: 0 von 5 Sternen0 BewertungenEinfach Python: Gleich richtig programmieren lernen Bewertung: 0 von 5 Sternen0 BewertungenVue.js kurz & gut Bewertung: 0 von 5 Sternen0 BewertungenSQL – kurz & gut Bewertung: 0 von 5 Sternen0 BewertungenPython kurz & gut: Für Python 3.x und 2.7 Bewertung: 3 von 5 Sternen3/5Linux – kurz & gut: Die wichtigen Befehle Bewertung: 4 von 5 Sternen4/5Bootstrap kurz & gut Bewertung: 0 von 5 Sternen0 BewertungenWindows-Befehle für Server 2016 und Windows 10 – kurz & gut: Inklusive PowerShell-Alternativen Bewertung: 0 von 5 Sternen0 BewertungenPowerShell – kurz & gut: Für PowerShell 7 und Windows PowerShell 5 Bewertung: 0 von 5 Sternen0 BewertungenWeb-Applikationen entwickeln mit NoSQL: Das Buch für Datenbank-Einsteiger und Profis! Bewertung: 0 von 5 Sternen0 BewertungenJavaScript kurz & gut Bewertung: 3 von 5 Sternen3/5Richtig einsteigen: Excel VBA-Programmierung: Für Microsoft Excel 2007 bis 2016 Bewertung: 0 von 5 Sternen0 BewertungenBigData mit JavaScript visualisieren: D3.js für die Darstellung großer Datenmengen einsetzen Bewertung: 0 von 5 Sternen0 Bewertungen
Computer für Sie
Das Minecraft-Server-Buch Bewertung: 0 von 5 Sternen0 BewertungenLaws of UX: 10 praktische Grundprinzipien für intuitives, menschenzentriertes UX-Design Bewertung: 0 von 5 Sternen0 BewertungenRaspberry Pi Kinderleicht: Pi 4 mit 8 GB Bewertung: 0 von 5 Sternen0 BewertungenLexikon der Symbole und Archetypen für die Traumdeutung Bewertung: 5 von 5 Sternen5/5Anglizismen und andere "Fremdwords" deutsch erklärt: Über 1000 aktuelle Begriffe Bewertung: 0 von 5 Sternen0 BewertungenNew Game Plus: Perspektiven der Game Studies. Genres - Künste - Diskurse (Bild und Bit. Studien zur digitalen Medienkultur) Bewertung: 0 von 5 Sternen0 BewertungenDatenbanken: Grundlagen und Entwurf Bewertung: 0 von 5 Sternen0 BewertungenWordPress - Elementor Bewertung: 0 von 5 Sternen0 BewertungenNeuronale Netze selbst programmieren: Ein verständlicher Einstieg mit Python Bewertung: 0 von 5 Sternen0 BewertungenEinstieg in ChatGPT: Künstliche Intelligenz verstehen und nutzen: Ein praktischer Ratgeber für Einsteiger Bewertung: 0 von 5 Sternen0 BewertungenNiklas Luhmann: "... stattdessen ...": Eine biografische Einführung Bewertung: 0 von 5 Sternen0 BewertungenMachine Learning – kurz & gut: Eine Einführung mit Python, Pandas und Scikit-Learn Bewertung: 5 von 5 Sternen5/5Aufstieg der Roboter: Wie unsere Arbeitswelt gerade auf den Kopf gestellt wird - und wie wir darauf reagieren müssen Bewertung: 0 von 5 Sternen0 BewertungenShopware 6 Handbuch Bewertung: 0 von 5 Sternen0 BewertungenTastenkombinationen für den Mac: Alle wichtigen Funktionen Bewertung: 0 von 5 Sternen0 BewertungenBig Data - Apache Hadoop Bewertung: 0 von 5 Sternen0 BewertungenKybernetik, Kommunikation und Konflikt: Gregory Bateson und (s)eine kybernetische Konflikttheorie Bewertung: 0 von 5 Sternen0 BewertungenRunning Lean: Das How-to für erfolgreiche Innovationen Bewertung: 4 von 5 Sternen4/5Pocket Book - Das inoffizielle Handbuch. Anleitung, Tipps, Tricks Bewertung: 0 von 5 Sternen0 Bewertungen...Als die Noten laufen lernten...Band 2: Kabarett-Operette-Revue-Film-Exil. Unterhaltungsmusik bis 1945 Bewertung: 0 von 5 Sternen0 BewertungenBig Data: Die neue Intelligenz des Menschen (GEO eBook) Bewertung: 0 von 5 Sternen0 BewertungenNimm den Chor doch selber auf: Crashkurs für das Aufnehmen und Mischen von Chören Bewertung: 0 von 5 Sternen0 BewertungenDocker und die Containerwelt: Einstieg und Expertentipps rund um Docker-Container Bewertung: 1 von 5 Sternen1/5IT-Sicherheit ist sexy!: Argumente für Investitionen in IT-Sicherheit Bewertung: 0 von 5 Sternen0 BewertungenEinführung ins Darknet: Darknet ABC Bewertung: 0 von 5 Sternen0 BewertungenCommand Line Kung Fu: Bash-Scripting-Tricks, Linux Tipps und praktische Einzeiler für die Shell Bewertung: 0 von 5 Sternen0 BewertungenDas Excel SOS-Handbuch: Wie sie Excel (2010-2019 & 365) schnell & einfach meistern. Die All-in-One Anleitung für ihren privaten & beruflichen Excel-Erfolg! Bewertung: 0 von 5 Sternen0 BewertungenSo findest du den Einstieg in WordPress: Die technischen Grundlagen zu Installation, Konfiguration, Optimierung, Sicherheit, SEO Bewertung: 0 von 5 Sternen0 BewertungenDas große Buch für Minecraft-Spieler: Der Einstieg in Bergbau, Landwirtschaft und Zucht, Häuserbau und Energiegewinnung Bewertung: 0 von 5 Sternen0 Bewertungen
Rezensionen für Oracle PL/SQL kurz & gut
6 Bewertungen1 Rezension
- Bewertung: 3 von 5 Sternen3/5This book isn't for the novice. YOu need to know some SQL at least and the concepts of a relational database also.
Buchvorschau
Oracle PL/SQL kurz & gut - Steven Feuerstein
Oracle PL/SQL: kurz & gut
Inhaltsverzeichnis
1. Oracle PL/SQL – kurz & gutEinleitungDanksagungKonventionenPL/SQL-SprachgrundlagenDer PL/SQL-ZeichensatzBezeichnerBoolesche, numerische und ZeichenliteraleNumerische LiteraleDatums- und Uhrzeit-Intervall-LiteraleBegrenzerKommentarePragmasAnweisungenBlockstrukturVariablen und ProgrammdatenSkalare DatentypenLOB-DatentypenImplizite Datentyp-UmwandlungNULL in PL/SQLVariablen deklarierenVerankerte DeklarationenProgrammiererdefinierte SubtypenBedingte und sequenzielle KontrollstrukturenBedingte KontrollstrukturenSequenzielle KontrollstrukturenSchleifenEinfache SchleifeNumerische FOR-SchleifeCursor-FOR-SchleifeWHILE-SchleifeREPEAT UNTIL-Schleife emulierenEXIT-AnweisungCONTINUE-Anweisung (Oracle Database 11g)Schleifen-LabelInteraktion mit der DatenbankSequenzen in PLSQLTransaktionsverwaltungAutonome TransaktionenCursor in PL/SQLExplizite CursorImplizite CursorDynamische CursorDBMS_SQLSQL-Injektion und Bind-VariablenCursor-VariablenCursor-AusdrückeException-HandlingExceptions deklarierenExceptions auslösenGeltungsbereichPropagierungDatensätze in PL/SQLDatensätze deklarierenDatensatz-Felder referenzierenDatensätze zuweisenDatensätze und DMLGeschachtelte DatensätzeCollections in PL/SQLEine Collection deklarierenEine Collection initialisierenElemente hinzufügen und entfernenFunktionen für geschachtelte TabellenCollection-MethodenCollections und ZugriffsrechteGeschachtelte CollectionsBulk BindsEingebaute Funktionen und PackagesEingebaute FunktionenEingebaute Funktionen für reguläre AusdrückeEingebaute PackagesGespeicherte Prozeduren und FunktionenProzedurenFunktionenParameterLokale ProgrammeProgramme überladenVorwärts-DeklarationenTabellenfunktionenFunktionsergebnis-CacheZugriffsrechte und gespeichertes PL/SQLTriggerTrigger erzeugenTrigger-PrädikateDML-EreignisseZusammengesetzte DML-TriggerDDL-EreignisseDatenbank-EreignissePackagesPackage-StrukturPackage-Elemente referenzierenPackage-DatenDas Pragma SERIALLY_REUSABLEPackage-InitialisierungPL/SQL-Funktionen in SQL aufrufenEine Funktion aufrufenPackage-Funktionen in SQL aufrufenVorrang der Spaltenangabe vor dem FunktionsnamenObjektorientierte FeaturesObjekttypenTypvererbungMethodenMethoden in SubtypenObjekte mit PL/SQL und SQL manipulierenUpcasting und DowncastingObjekttypen ändernKompilierungGespeicherte PL/SQL-Programme kompilierenBedingte KompilierungCompiler-WarnungenDer optimierende CompilerNative Kompilierung von PL/SQL durchführenJava-IntegrationBeispielPL/SQL den Zugriff auf Java-Code ermöglichenData Dictionary
Oracle PL/SQL: kurz & gut
Steven Feuerstein
Bill Pribyl
Chip Dawes
Copyright © 2008 O'Reilly Verlag GmbH & Co.KG
Die Informationen in diesem Buch wurden mit größter Sorgfalt erarbeitet. Dennoch können Fehler nicht vollständig ausgeschlossen werden. Verlag, Autoren und Übersetzer übernehmen keine juristische Verantwortung oder irgendeine Haftung für eventuell verbliebene fehlerhafte Angaben und deren Folgen.
Alle Warennamen werden ohne Gewährleistung der freien Verwendbarkeit benutzt und sind möglicherweise eingetragene Warenzeichen. Der Verlag richtet sich im Wesentlichen nach den Schreibweisen der Hersteller. Das Werk einschließlich aller seiner Teile ist urheberrechtlich geschützt. Alle Rechte vorbehalten einschließlich der Vervielfältigung, Übersetzung, Mikrovefilmung sowie Einspeicherung und Verarbeitung in elektronischen Systemen.
Bibliografische Information Der Deutschen Bibliothek Die Deutsche Bibliothek verzeichnet diese Publikation in der Deutschen Nationalbibliografie; detaillierte bibliografische Daten sind im Internet über http://dnb.ddb.de abrufbar.
Die Darstellung von Ameisen im Zusammenhang mit dem Thema Oracle PL/SQL ist ein Warenzeichen von O'Reilly Media, Inc.
Oracle® und alle Oracle-basierten Warenzeichen und Logos sind Warenzeichen oder eingetragene Warenzeichen der Oracle Corporation, Inc. in den USA und in anderen Ländern. Der O'Reilly Verlag ist unabhängig von der Oracle Corporation.
Dieses Buch ist auf 100% chlorfrei gebleichtem Papier gedruckt.
Satz: FKM, Neumünster
O'Reilly Media Germany
Kapitel 1. Oracle PL/SQL – kurz & gut
Einleitung
Oracle PL/SQL – kurz & gut ist eine Schnellreferenz zur Programmiersprache PL/SQL, die prozedurale Erweiterungen der relationalen Datenbanksprache SQL und zahlreiche Oracle-Entwicklungstools zur Verfügung stellt. Überall dort, wo ein Package, eine Prozedur oder Funktion nur von einer bestimmten Version der Oracle-Datenbank (z.B. Oracle Database 11g) unterstützt wird, finden Sie einen entsprechenden Hinweis im Text.
Der Zweck dieser Taschenreferenz ist es, dem Benutzer von Oracle PL/SQL das Auffinden der Syntax von bestimmten Sprachelementen zu erleichtern. Sie ist jedoch kein vollständiges Benutzerhandbuch. Grundkenntnisse in der Programmiersprache PL/SQL werden vorausgesetzt. Weitere Informationen finden Sie in den folgenden O'Reilly-Büchern:
Danksagung
Wir danken all denen, die an diesem Buch mitgearbeitet haben. Besonderer Dank gilt Bryn Llewelyn für seine Beiträge zur letzten Überarbeitung und zur dritten Auflage. Vielen Dank auch den Gutachtern der ersten Auflage, Eric J. Givler und Stephen Nelson, und dem Gutachter für die zweite und dritte Auflage, Jonathan Gennick. Außerdem wollen wir uns für die gute Arbeit der O'Reilly-Mannschaft bei der Bearbeitung und Produktion dieses Buchs bedanken.
Konventionen
GROSSBUCHSTABEN
Zeigen PL/SQL-Schlüsselwörter sowie bestimmte Bezeichner an, die von der Oracle Corporation als Namen eingebauter Funktionen und Pakete verwendet werden.
Kursiv
Zeigt Datei- und Verzeichnisnamen sowie Begriffseinführungen an.
Nichtproportionalschrift
Wird für Programmbeispiele, Zeichenliterale und Bezeichner verwendet.
Nichtproportionalschrift fett
Zeigt in Beispielen, die Interaktionen illustrieren, Benutzereingaben an.
[]
Schließen in Syntaxbeschreibungen optionale Elemente ein.
{}
Schließen in Syntaxbeschreibungen eine Liste ein, aus der Sie ein Element auswählen müssen.
|
Grenzt die Listenelemente in Syntaxbeschreibungen voneinander ab.
PL/SQL-Sprachgrundlagen
Dieser Abschnitt fasst die grundlegenden Bestandteile der PL/SQL-Sprache zusammen: Zeichen, Bezeichner, Literale, Begrenzer, die Verwendung von Kommentaren und Pragmas sowie den Aufbau von Anweisungen und Blöcken.
Der PL/SQL-Zeichensatz
Die Programmiersprache PL/SQL wird aus Buchstaben, Zahlen, Symbolen und Whitespace-Zeichen aufgebaut, die in der folgenden Tabelle genauer definiert werden:
Zeichen werden zu vier lexikalischen Einheiten gruppiert: zu Bezeichnern, Literalen, Begrenzern und Kommentaren.
Bezeichner
Bezeichner sind Namen für PL/SQL-Objekte wie Konstanten, Variablen, Exceptions, Prozeduren, Cursor und reservierte Wörter. Bezeichner besitzen die folgenden Merkmale:
Sie können bis zu 30 Zeichen lang sein.
Sie dürfen keine Whitespace-Zeichen (Leerzeichen, Tabulator, Wagenrücklauf) enthalten.
Sie müssen mit einem Buchstaben beginnen.
Sie können Dollar-Zeichen ($), Unterstriche ( _ ) oder Pfund-Zeichen enthalten (#).
Sie berücksichtigen keine Groß-/Kleinschreibung.
Außerdem dürfen Sie keine PL/SQL-Schlüsselwörter als Bezeichner verwenden.
Sie sollten davon absehen, die reservierten Wörter von PL/SQL in Ihren Programmen als Bezeichner zu verwenden, da das zu Kompilier- oder Laufzeitfehlern führen kann, die schwer zu lösen sind.
Tipp
In früheren Ausgaben enthielt dieses Buch eine Liste der reservierten Wörter. In der V$RESERVED_WORDS-Data-Dictionary-View von Oracle Database 11g Release 1 werden mittlerweile jedoch mehr als 1.600 Wörter als reserviert aufgeführt. Bei unseren Tests haben wir festgestellt, dass mehr als 650 dieser Wörter nicht als Namen von Prozeduren oder Variablen verwendet werden können. Schlagen Sie in V$RESERVED_WORDS nach, wenn Sie eine Liste der nicht unterstützten Bezeichner suchen, und vermeiden Sie diese als Programm- oder Variablennamen.
Wenn Bezeichner in Anführungszeichen eingeschlossen sind, werden alle oben genannten Regeln außer der ersten ignoriert. So ist z.B. die folgende Deklaration gültig:
DECLARE
1 ^abc
VARCHAR2(100);
BEGIN
IF 1 ^abc
IS NULL THEN ...
END;
Boolesche, numerische und Zeichenliterale
Literale sind spezifische Werte, die nicht durch Bezeichner dargestellt werden. So sind z.B. TRUE, 3.14159, 6.63E-34, 'Moby Dick' und NULL allesamt Boolesche, numerische oder Zeichenliterale. Es gibt keine Literale von komplexen Datentypen, da ihre Werte interne Darstellungen sind; komplexe Typen erhalten ihre Werte durch eine direkte Zuweisung über einen Konstruktor. Anders als das übrige PL/SQL berücksichtigen Literale die Groß-/Kleinschreibung. Um einfache Anführungszeichen in ein Zeichenliteral einzubetten, müssen Sie zwei einfache Anführungszeichen nebeneinanderstellen.
Seit Oracle Database 10g können Sie Ihren eigenen Angabemechanismus für String-Literale in Ihren SQL- sowie PL/SQL-Anweisungen definieren. Verwenden Sie die Zeichen q' (q und ein einfaches gerades Anführungszeichen), um den selbst definierten Begrenzer für Ihre String-Literale anzuzeigen. Schließen Sie den literalen String mit dem selbst definierten Begrenzer und einem anhängenden einfachen Anführungszeichen – z.B. q'!mein String!'. NCHAR- und NVARCHAR-Begrenzern werden die Buchstaben nq vorangestellt, z.B. nq'^NCHAR-String^'. Diese Technik kann Ihren Code vereinfachen, wenn in einem String mehrere aufeinanderfolgende einfache Anführungszeichen auftauchen, wie es bei den Literalen in SQL-Anweisungen der Fall ist. Wenn Sie Ihren Begrenzer mit einem der vier Klammerzeichen ( [ {< definieren, müssen Sie als schließenden Begrenzer auch die schließende Klammerversion verwenden. Beispielsweise muss q'[ mit ]' geschlossen werden.
Die folgende Tabelle zeigt einige Beispiele:
Numerische Literale
Eventuell können Sie die Laufzeitperformance verbessern, wenn Sie den Datentyp numerischer Literale explizit angeben. Das erreichen Sie, indem Sie den Dezimaltrenner aus- oder einschließen oder indem Sie an den Zahlwert ein f oder d anhängen. Beispiele sehen Sie in der folgenden Tabelle:
Oracle Database 10g hat einige spezielle benannte Konstanten eingeführt:
Zu diesen Konstanten gibt es jeweils noch BINARY_DOUBLE_-Versionen.
Datums- und Uhrzeit-Intervall-Literale
Die in Oracle9i eingeführten Datums- und Uhrzeit-Intervall-Datentypen stellen ein zeitliches Intervall dar, das entweder in Jahren und Monaten oder in Tagen, Stunden, Minuten, Sekunden und Sekundenbruchteilen ausgedrückt wird. Literale dieser Datentypen werden über das Schlüsselwort INTERVAL angegeben, auf das das Literal und der/die Formatierungsstring(s) folgen. Bei der Intervallangabe müssen die größeren Felder den kleineren vorausgehen: Das heißt, YEAR TO MONTH ist zulässig, aber MONTH TO YEAR nicht. Beispiele finden Sie in der folgenden Tabelle:
Begrenzer
Begrenzer sind Symbole mit einer besonderen Bedeutung, beispielsweise := (Zuweisungsoperator), || (Verkettungsoperator) und ; (Anweisungsbegrenzer). Die folgende Tabelle führt die PL/SQL-Begrenzer auf:
Kommentare
Kommentare sind Abschnitte des Programmcodes, die die Lesbarkeit verbessern. Sie werden vom Compiler ignoriert.
Ein einzeiliger Kommentar beginnt mit einem doppelten Bindestrich (--) und endet mit einer neuen Zeile. Der Compiler ignoriert alle Zeichen zwischen -- und der neuen Zeile.
Ein mehrzeiliger Kommentar beginnt mit Schrägstrich-Stern (/*) und endet mit Stern-Schrägstrich (*/ ). Der Kommentarbegrenzer /* */ kann aber auch für einzeilige Kommentare verwendet werden. Der folgende Block demonstriert beide Arten von Kommentaren:
DECLARE
-- Zwei Bindestriche kommentieren diese Zeile aus.
/* Alles ist hier Kommentar, bis der Compiler auf das
folgende Symbol trifft. * /
Sie können keine mehrzeiligen Kommentare in einen