Vorbereitungen zum 3. Praktikum (PL/SQL):

Größe: px
Ab Seite anzeigen:

Download "Vorbereitungen zum 3. Praktikum (PL/SQL):"

Transkript

1 Vorbereitungen zum 3. Praktikum (PLSQL): SQL ist eine nicht-prozedurale Sprache der 4. Generation, die es nicht erlaubt, Elemente von 3.-Generation-Sprachen (Schleifen, Verzweigungen, etc.) zu benutzen. Daher gibt es in professionellen DB-Systemen Spracherweiterungen, die bei Oracle PLSQL (Programming Language) genannt wird. In PLSQL können Schleifen, Verzweigungen, Prozeduren, Funktionen, globale und lokale Variablen benutzt werden. SQL-Befehle sind in diesen prozeduralen Programmen eingebettet. Im Praktikum werden wir PLSQL mit dem Cursor-Konzept anwenden. 1. Anleitung zu PLSQL 1.1 Aufbau eines PLSQL-Blocks PLSQL ist blockorientiert. Der PLSQL-Block nt (1)mit der Deklaration von Variablen, eingeleitet durch das Schlüsselwort. Der ausführbare Teil (2) des Codes startet mit BEGIN. Mit der EXCEPTION können Ausnahmesituationen (3) behandelt werden. Der erste und dritte Teil können fehlen (Wir werden in diesem Praktikum Teil 3 weglassen.). Ein Block wird als Skript in einer Datei abgelegt und mit START in SQLPLUS aufgerufen werden (letzte Zeile: ""). Jede Anweisung endet mit ";".Groß- und Kleinschreibung ist irrelevant. PLSQL-Block: Datendeklaration BEGIN SQL- und PLSQL-Anweisungen EXCEPTION Behandlung von Ausnahmen END; 1.2 Datendeklaration Jede Variable, die in einem PLSQL-Block benutzt wird, muss vorher deklariert werden. Es gibt die Typen CHAR, VARCHAR, NUMBER, DATE, ROWID und BOOLEAN. v1 char(1); n number; s boolean; Seite 1

2 Diese Variablen haben den Anfangswert NULL, wenn sie nicht initialisiert werden. Beispiele: v2 char(5) := 'ABCDE'; -- Textvariable v3 number(6,2) not null := 0; -- darf niemals NULL sein v4 boolean := TRUE; v6 number(100,2) := v ; Die Namen von vorhandenen Spalten von Tabellen, die in select- oder update- Befehlen innerhalb der Programme verwendet werden, müssen nicht deklariert werden. Mit Hilfe des Zusatzes "%TYPE" kann man Variablen deklarieren, die den Datentyp der Spalte einer Tabelle haben, z.b.: V_Stdg Vorlesungen.Studiengang%type deklariert die Variable V_Stdg, die den Typ des Attributes Studiengang der Tabelle Vorlesungen erthält. 1.3 Geschachtelte PLSQL-Blöcke Schachtelungen sind nur im Ausführungs- und Ausnahmebehandlungsteil möglich. Eine Variable ist lokal bzgl. eines Blocks, wenn sie in ihm deklariert ist. Eine Variable ist global bezüglich eines Blocks (und somit in ihm auch gültig), wenn sie nicht in ihn, sondern in einem übergeordneten Block deklariert ist. 1.4 Kontrollstrukturen und Operatoren 1.1. Anweisungen und Zuweisungen Leere Anweisung null; Zuweisungsoperator := ( a := 70; ) Zuweisung mittels select: Werte über Spaltennamen aus der Datenbank werden in Variablen eines PLSQL-Blocks mit Hilfe des Schlüsselwortes INTO übertragen. SELECT COUNT(*) INTO anzahl FROM ARTIKEL; 1.2. Arithmetische Operatoren + Addition, - Subtraktion, * Multiplikation, Division Endpreis := Preis * Steuersatz; Bonus := AktuellerWert ; 1.3. Vergleichsoperatoren und logische Operatoren = Gleichheit,!= oder <> Ungleichheit, <=, >=, <, > größerkleiner (oder gleich) AND Konjunktion, OR Disjunktion, NOT Negation IF Konto <= kontominimum THEN UPDATE... Seite 2

3 IF Konto > 4000 AND Wert <= 7000 THEN UPDATE Verzweigung if Bedingung then Anweisungsfolge A else Anweisungsfolge B end if; Der else-teil kann entfallen; "end if" ist Pflicht. IF somecursor%notfound -- Cursor liefert keine weiteren Elemente? -- %notfound: Siehe 1.4 unter 1.5 Cursor-Konzept THEN INSERT INTO sometable VALUES(value1, value2); END IF; 1.5. Schleifen Es gibt drei Formen von Schleifen: 1. bedingungslos: LOOP 2. Zählschleife: FOR Zaehlbereich LOOP FOR i IN 1..3 LOOP -- i läuft von 1 bis 3 -- Block dreimal ausführen 3. bedingte Schleife: WHILE Bedingung LOOP WHILE somevariable <= somelimit Die bedingungslose Schleife ist eine unendliche Schleife, wenn in ihr keine Anweisung (und kein exit) vorkommt. Die Schleife wird mit der exit-anweisung Seite 3

4 verlassen. Darüber hinaus ist es möglich mit GOTO und Marken (<<marke>>) zu arbeiten, um gezielte Sprünge zu machen. Mit der Anweisung "exit when Bedingung" kann man direkt an das exit eine Bedingung knüpfen. 1.5 Cursor-Konzept 1.1. Im Allgemeinen liefert der select-befehl eine Menge von Zeilen. Um solche Mengen der Reihe nach abarbeiten zu können, gibt es in PLSQL das Cursor- Konzept. Ein Cursor wird deklariert, eröffnet, gelesen und geschlossen. Bei der Deklaration eines Cursors wird eine Teilmenge einer Tabelle oder eine Verknüpfung mehrerer Tabellen definiert. Der Cursor zeigt auf genau einen Wert (eine Zeile, ein Tupel) der Ergebnismenge und wird nach bestimmten Regeln auf einen weiteren Wert geschaltet Deklaration eines expliziten Cursors Im Deklarationsteil eines PLSQL-Blocks wird ein Cursor definiert. Der Cursor erhält dabei einen Namen und die Definition über einen select-befehl, der einfach sein kann oder über joins mit where-bedingungen und order by- Klauseln definiert werden kann. Beispiele: cursor c1 is select * from artikel; cursor c2 is select preis, name from artikel where art_id = &1; Cursor c1 liefert alle Zeilen mit allen Spalten der Tabelle artikel, c2 liefert nur explizit angegebene Spalten der Artikel unter einer benutzereingegebenen Bedingung Sequentielles Lesen eines Cursors Die Anweisungen open, fetch und close erlauben das sequentielle Lesen eines wie oben definierten Cursors. Der FETCH-Befehl liest Daten in Variablen und setzt den Cursor auf den nächsten (nach der Definition) relevanten Datensatz. FETCH c1 INTO var1, var2,...; c1 ist der Name eines Cursors und var1, var2,... sind Namen von Variablen, die im -Teil des PLSQL-Blocks definiert sein müssen und in Anzahl, Datentyp und Reihenfolge den Spalten des Cursor-Deklaration entsprechen müssen. create table bericht ( s1 char(15); Seite 4

5 ); s2 varchar(20); s3 number(9,2) Diese Tabelle muss vor dem folgenden PLSQL-Block definiert sein. cursor c1 is select ISBN, TITEL, PREIS from BUCH; v_isbn BUCH.ISBN%type; v_titel BUCH.TITEL%type; v_preis BUCH.PREIS%type; anzahl number := 0; -- Anzahl der gefunden Buecher schranke number := &Schranke; -- Eingabe des Benutzers open c1; fetch c1 into v isbn, v_titel, v_preis; while c1%found loop if v_preis > schranke then anzahl := anzahl + 1; insert into bericht values (v_isbn, v_titel, v_preis); end if; fetch c1 into v isbn, v_titel, v_preis; end loop; close c1; 1.4. Attribute zur Kontrolle des Cursors (am Beispiel von c1) c1%isopen true, wenn Cursor geöffnet ist, sonst false c1%found true, wenn fetch-befehl auf einen Datensatz zeigt, sonst false c1%notfound true, wenn fetch-befehl auf keinen Datensatz zeigt (am Ende) c1%rowcount gibt an, wie viel Zeilen mit dem open-befehl geladen wurden 1.5. Strukturvariable Eine Strukturvariable hat denselben Aufbau wie eine Zeile einer Tabelle oder eines Cursors. Man verwendet für eine Strukturvariable den Namenszusatz %rowtype declare cursor aktbuch is...; Seite 5

6 BuchRec aktbuch%rowtype; loop fetch aktbuch into BuchRec; exit when AktBuch%notfound;... end loop; 1.7. Update mit einem Cursor Bei der Vereinbarung eines Cursors kann im SELECT-Befehl die Klausel FOR UPDATE angegeben werden. Sie erlaubt, die ausgewählten Datensätze zu verändern. In diesem Fall wird die Ergebnismenge des Cursors gesperrt, andere Benutzer können nicht darauf zugreifen, solange die Sätze aktualisiert werden. Bei update-befehl muss die Klausel "where current of c1" (bei Cursor c1) verwendet werden. cursor c1 is select gebiet from fachbuch for update of gebiet; satz c1%rowtype; for satz in c1 loop update fachbuch set gebiet = 'EDV' where current of c1; -- aktuellen Datensatz des Cursors end loop; -- ändern 1.6 Bildschirmausgabe mittels Package dbms_output dbms_output ist ein Prozeduren-Standardpaket von Oracle, mit denen u.a. Ausgaben am Bildschirm ausgeführt werden können. Wichtig ist, dass die Umgebungsvariable serveroutput eingeschaltet ist (s. nächster Abschnitt). set serveroutput on; declare wert NUMBER(9); select count(*) into wert from lieferant; dbms_output.put_line('wert ist: ' wert); Seite 6

7 Mit dem Verknüpfungszeichen (pipelining) kann ein Variablenwert z.b. an einen Textstring angehangen werden. 2. SQLPLUS Script-Definitionen &-Parameter: Bei Aufruf ohne Parameter wird bei jedem &-Parameter-Vorkommen der Benutzer nach dem aktuellen Wert gefragt. Kommentare: *... * für länger Kommentare (über mehrere Zeilen) -- Kommentar bis zum Ende der Zeile Umgebungsvariablen anzeigen lassen: show all Umgebungsvariablen setzen (am Beispiel): set serveroutput on. Seite 7

Prozedurale SQL-Erweiterungen

Prozedurale SQL-Erweiterungen Prozedurale SQL-Erweiterungen Prozedurale SQL-Erweiterungen unterscheiden sich typischerweise durch die folgenden Punkte von dem Ansatz der Einbettung: Neue dedizierte Sprache mit direkter Integration

Mehr

Prozedurale Datenbank- Anwendungsprogrammierung

Prozedurale Datenbank- Anwendungsprogrammierung Idee: Erweiterung von SQL um Komponenten von prozeduralen Sprachen (Sequenz, bedingte Ausführung, Schleife) Bezeichnung: Prozedurale SQL-Erweiterung. In Oracle: PL/SQL, in Microsoft SQL Server: T-SQL.

Mehr

Einführung in PL/SQL

Einführung in PL/SQL Einführung in PL/SQL Procedural Language/Structured Query Language Prozedurale Erweiterung der Sprache SQL für Elemente wie Variablen, Schleifen, Bedingungen, Ausnahmebehandlung Dr. Christian Senger Einführung

Mehr

Explizite Cursor. Cursor. Steuerung des expliziten Cursors. Explizite Cursor Funktionen

Explizite Cursor. Cursor. Steuerung des expliziten Cursors. Explizite Cursor Funktionen Explizite Jedes SQL Statement, das der Oracle Server ausführt, hat einen individuellen, der verbunden ist mit: Implizitem : Declariert für alle DML-Statements und PL/SQL SELECT Statements. Explizitem :

Mehr

Einführung in PL/SQL

Einführung in PL/SQL Einführung in PLSQL Prozedurale Erweiterung der Sprache SQL um Elemente wie Variablen, Schleifen, Bedingungen, Ausnahmebehandlung Code läuft innerhalb der Datenbank ab und ist deshalb sehr performant Zusätzlich

Mehr

Funktionen. Überblick über Stored Functions. Syntax zum Schreiben einer Funktion. Schreiben einer Funktion

Funktionen. Überblick über Stored Functions. Syntax zum Schreiben einer Funktion. Schreiben einer Funktion Überblick über Stored Functions Funktionen Eine Funktion ist ein benannter PL/SQL- Block, der einen Wert zurückgibt. Eine Funktion kann in der Datenbank als Objekt zur wiederholbaren Ausführung gespeichert

Mehr

Kapitel 4 Dynamisches SQL

Kapitel 4 Dynamisches SQL Kapitel 4 Dynamisches SQL Flien zum Datenbankpraktikum Wintersemester 2012/13 LMU München 2008 Thmas Bernecker, Tbias Emrich 2010 Tbias Emrich, Erich Schubert unter Verwendung der Flien des Datenbankpraktikums

Mehr

Dynamisches SQL. Folien zum Datenbankpraktikum Wintersemester 2009/10 LMU München

Dynamisches SQL. Folien zum Datenbankpraktikum Wintersemester 2009/10 LMU München Kapitel 4 Dynamisches SQL Folien zum Datenbankpraktikum Wintersemester 2009/10 LMU München 2008 Thomas Bernecker, Tobias Emrich unter Verwendung der Folien des Datenbankpraktikums aus dem Wintersemester

Mehr

Kapitel 4 Dynamisches SQL

Kapitel 4 Dynamisches SQL Kapitel 4 Dynamisches SQL Flien zum Datenbankpraktikum Wintersemester 2010/11 LMU München 2008 Thmas Bernecker, Tbias Emrich unter Verwendung der Flien des Datenbankpraktikums aus dem Wintersemester 2007/08

Mehr

Boolean Wertemenge: Wahrheitswerte {FALSE,TRUE}, auch {0,1} Deklaration:

Boolean Wertemenge: Wahrheitswerte {FALSE,TRUE}, auch {0,1} Deklaration: Boolean Wertemenge: Wahrheitswerte {,}, auch {,} Deklaration: VAR present,billig,laut,gefunden : BOOLEAN; Ein-/Ausgabe: keine! Operatoren: Negation, Verneinung NOT ~ Konjunktion, logisches UND AND & Disjunktion,

Mehr

Kapitel 9. Embedded SQL. Prof. Dr. Wolfgang Weber Vorlesung Datenbanken 1

Kapitel 9. Embedded SQL. Prof. Dr. Wolfgang Weber Vorlesung Datenbanken 1 Kapitel 9 Embedded SQL Vorlesung Datenbanken 1 Embedded SQL (siehe auch [Date00]) Arbeitsweise ähnlich PL/SQL, allerdings: Normale Programmiersprache mit eingestreuten SQL-Befehlen und anderen Befehlen

Mehr

Arbeit mit zusammengesetzten Datentypen

Arbeit mit zusammengesetzten Datentypen Arbeit mit zusammengesetzten Datentypen Zusammengesetzte Datentypen Typen: PL/SQL RECORDS PL/SQL TABELLEN Enthalten interne Komponenten Sind wiederverwendbar Copyright Oracle Corporation, 1998. All rights

Mehr

Arithmetik in der tcsh

Arithmetik in der tcsh Arithmetik in der tcsh Variablen speichern Zeichenketten (also Strings/Wörter) @ statt set Interpretation als arithmetische Ausdrücke (aus Ziffern, (, ), +, -, *, /, % bestehend) Beispiele: @ var = (3

Mehr

Dipl. Inf. Dipl. Math. Y. Orkunoglu Datum: 11.09.2009

Dipl. Inf. Dipl. Math. Y. Orkunoglu Datum: 11.09.2009 Hochschule Darmstadt DATENBANKEN Fachbereich Informatik Praktikum 3 Dipl. Inf. Dipl. Math. Y. Orkunoglu Datum: 11.09.2009 PL/SQL Programmierung Anwendung des Cursor Konzepts und Stored Procedures Und Trigger

Mehr

Eigene Funktionen innerhalb von pgsql

Eigene Funktionen innerhalb von pgsql Eigene Funktionen innerhalb von pgsql Michael Dienert 25. November 2015 1 Warum noch eine Programmiersprache? SQL ist ein Standard, der von praktisch allen relationalen Datenbank-Servern als Abfragesprache

Mehr

Powerful PL/SQL: Collections indizieren mit VARCHAR2-Indizes

Powerful PL/SQL: Collections indizieren mit VARCHAR2-Indizes Powerful PL/SQL: Collections indizieren mit VARCHAR2-Indizes Autor: Klaus Friemelt, MT AG DOAGNews Q1_2005 Dieses Werk ist urheberrechtlich geschützt. Die dadurch begründeten Rechte, insbesondere die der

Mehr

WS 2010/11 Datenbanksysteme Fr 15:15 16:45 R Vorlesung #3. SQL (Teil 1)

WS 2010/11 Datenbanksysteme Fr 15:15 16:45 R Vorlesung #3. SQL (Teil 1) Vorlesung #3 SQL (Teil 1) Fahrplan Wiederholung/Zusammenfassung Relationales Modell Relationale Algebra Relationenkalkül Geschichte der Sprache SQL SQL DDL (CREATE TABLE...) SQL DML (INSERT, UPDATE, DELETE)

Mehr

Inhaltsverzeichnis. Inhalt. 1 Einführung in die Datenbanktechnologie

Inhaltsverzeichnis. Inhalt. 1 Einführung in die Datenbanktechnologie 3 Inhaltsverzeichnis 1 Einführung in die Datenbanktechnologie 1.1 Einleitung... 8 1.1.1 Zielsetzung... 8 1.1.2 Aufbau des Studienbuches... 9 1.1.3 Abgrenzung... 10 1.2 Grundbegriffe... 10 1.3 Datenbanksysteme...

Mehr

Operatoren für elementare Datentypen Bedingte Anweisungen Schleifen. Operatoren für elementare Datentypen Bedingte Anweisungen Schleifen

Operatoren für elementare Datentypen Bedingte Anweisungen Schleifen. Operatoren für elementare Datentypen Bedingte Anweisungen Schleifen Programmieren I Martin Schultheiß Hochschule Darmstadt Wintersemester 2011/2012 1 / 25 Operatoren für elementare Datentypen Bedingte Schleifen 2 / 25 Zuweisungsoperator Die Zuweisung von Werten an Variablen

Mehr

Zusammengesetzte Datentypen

Zusammengesetzte Datentypen Zusammengesetzte Datentypen.1 Records... -4.1.1 Implizite Typdeklaration mit %ROWTYPE... -6.1.2 Referenzierung eines Records... -6.2 PL/SQL Tables... -8.2.1 Deklaration einer PL/SQL Table... -8.3 Referenzierung

Mehr

Grundlagen der Informatik

Grundlagen der Informatik Grundlagen der Informatik Vorlesungsprüfung vom 13.06.2008 Gruppe B Lösung Name: Matrikelnummer: Zuerst bitte Name und Matrikelnummer auf das Titelblatt schreiben. Es sind keine Unterlagen und keine Teamarbeit

Mehr

Oracle Datenbankprogrammierung mit PL/SQL Grundlagen

Oracle Datenbankprogrammierung mit PL/SQL Grundlagen Oracle Datenbankprogrammierung mit PL/SQL Grundlagen Seminarunterlage Version: 12.05 Version 12.05 vom 29. Januar 2015 Dieses Dokument wird durch die veröffentlicht.. Alle Rechte vorbehalten. Alle Produkt-

Mehr

PL/pgSQL. VL Datenbanksysteme. Ingo Feinerer

PL/pgSQL. VL Datenbanksysteme. Ingo Feinerer PL/pgSQL VL Datenbanksysteme Ingo Feinerer Arbeitsbereich Datenbanken und Artificial Intelligence Institut für Informationssysteme Technische Universität Wien Gliederung Einführung PL/pgSQL-Programmteile

Mehr

Übersicht der wichtigsten MySQL-Befehle

Übersicht der wichtigsten MySQL-Befehle Übersicht der wichtigsten MySQL-Befehle 1. Arbeiten mit Datenbanken 1.1 Datenbank anlegen Eine Datenbank kann man wie folgt erstellen. CREATE DATABASE db_namen; 1.2 Existierende Datenbanken anzeigen Mit

Mehr

Themen des Kapitels. 2 Grundlagen von PL/SQL. PL/SQL Blöcke Kommentare Bezeichner Variablen Operatoren. 2.1 Übersicht. Grundelemente von PL/SQL.

Themen des Kapitels. 2 Grundlagen von PL/SQL. PL/SQL Blöcke Kommentare Bezeichner Variablen Operatoren. 2.1 Übersicht. Grundelemente von PL/SQL. 2 Grundlagen von PL/SQL Grundelemente von PL/SQL. 2.1 Übersicht Themen des Kapitels Grundlagen von PL/SQL Themen des Kapitels PL/SQL Blöcke Kommentare Bezeichner Variablen Operatoren Im Kapitel Grundlagen

Mehr

Powerful PL/SQL: Collections indizieren mit VARCHAR2- Indizes ein Praxisbeispiel

Powerful PL/SQL: Collections indizieren mit VARCHAR2- Indizes ein Praxisbeispiel Powerful PL/SQL: Collections indizieren mit VARCHAR2- Indizes ein Praxisbeispiel Schlagworte Autor: Klaus Friemelt, MT AG dynamisches BULK SQL, VARCHAR2-indizierte PL/SQL-Tabellen Einleitung Mit den letzten

Mehr

[ SQL] Wissen, das sich auszahlt

[  SQL] Wissen, das sich auszahlt [www.teia.de SQL] Wissen, das sich auszahlt INHALT SEITE 12 [I] 1] Einführung in SQL und relationale Datenbanken 12 14 16 18 11 1.1 1.2 Einführung Die Structured Query Language (SQL) Tabellen Mehrere Tabellen

Mehr

Oracle PL/SQL - Grundlagen

Oracle PL/SQL - Grundlagen Oracle PL/SQL - Grundlagen Steven Feuerstein mit Bill Pribyl Deutsche Übersetzung von Matthias Kalle Dalheimer O'REILT Beijing Cambridge Köln Paris Sebastopol Taipei Tokyo Inhalt Vorwort Einleitung xiii

Mehr

Ausnahmebehandlung. Ausnahmebehandlung mit PL/SQL. Ausnahmetypen. Ausnahmebehandlung

Ausnahmebehandlung. Ausnahmebehandlung mit PL/SQL. Ausnahmetypen. Ausnahmebehandlung behandlung mit PL/SQL behandlung Was ist eine? Anzeige von Fehlern Wie werden sie angezeigt? Ein Oracle error erscheint. Die Anzeige ist explizit. Wie behandelt man es? Abfangen mit einem Programm. Weiterleiten

Mehr

Operatoren für elementare Datentypen Bedingte Anweisungen Schleifen. Programmieren I. Martin Schultheiß. Hochschule Darmstadt Wintersemester 2010/2011

Operatoren für elementare Datentypen Bedingte Anweisungen Schleifen. Programmieren I. Martin Schultheiß. Hochschule Darmstadt Wintersemester 2010/2011 Programmieren I Martin Schultheiß Hochschule Darmstadt Wintersemester 2010/2011 1 Operatoren für elementare Datentypen 2 Bedingte Anweisungen 3 Schleifen Zuweisungsoperator Die Zuweisung von Werten an

Mehr

Einführung in den Einsatz von Objekt-Orientierung mit C++ I

Einführung in den Einsatz von Objekt-Orientierung mit C++ I Einführung in den Einsatz von Objekt-Orientierung mit C++ I ADV-Seminar Leiter: Mag. Michael Hahsler Syntax von C++ Grundlagen Übersetzung Formale Syntaxüberprüfung Ausgabe/Eingabe Funktion main() Variablen

Mehr

PROCESSING EINE ZUSAMMENFASSUNG. Created by Michael Kirsch & Beat Rossmy

PROCESSING EINE ZUSAMMENFASSUNG. Created by Michael Kirsch & Beat Rossmy PROCESSING EINE ZUSAMMENFASSUNG Created by Michael Kirsch & Beat Rossmy INHALT 1. Typen und Operatoren 1. Datentypen 3. Klassen und Objekte 1. Klassen und Objekte 2. Operatoren 2. Konstruktor 3. Typkonversion

Mehr

Kontrollstrukturen in PL/SQL

Kontrollstrukturen in PL/SQL Kontrollstrukturen in PL/SQL.1 Bedingte Anweisungen... -2.1.1 Die IF-THEN-Anweisung... -2.1.2 Die IF-THEN-ELSE-Anweisung... -.1.3 Die IF-THEN-ELSIF-Anweisung... -.1. Die CASE-Anweisung... -6.2 Schleifen

Mehr

Datenbanken 1 und Objektorientierte Datenbanken

Datenbanken 1 und Objektorientierte Datenbanken Struktur eines PLSQL Blocks DECLARE Definition und Initialisierung 1 der im Block benutzten Variablen und Cursors EXCEPTION Wertzuweisungen, Operationen

Mehr

Oracle SQL. Seminarunterlage. Version vom

Oracle SQL. Seminarunterlage. Version vom Seminarunterlage Version: 12.16 Version 12.16 vom 12. Oktober 2017 Dieses Dokument wird durch die veröffentlicht.. Alle Rechte vorbehalten. Alle Produkt- und Dienstleistungs-Bezeichnungen sind Warenzeichen

Mehr

Entwicklungsumgebung für die Laborübung

Entwicklungsumgebung für die Laborübung Entwicklungsumgebung für die Laborübung VL Datenbanksysteme Ingo Feinerer Arbeitsbereich Datenbanken und Artificial Intelligence Institut für Informationssysteme Technische Universität Wien Gliederung

Mehr

float: Fließkommazahl nach IEEE 754 Standard mit 32 bit

float: Fließkommazahl nach IEEE 754 Standard mit 32 bit Primitive Datentypen Fließkommazahlen float: Fließkommazahl nach IEEE 754 Standard mit 32 bit Vorzeichen Exponent 8 bit Mantisse 23 bit double: Fließkommazahl nach IEEE 754 Standard mit 64 bit Vorzeichen

Mehr

MySQL-Befehle. In diesem Tutorial möchte ich eine kurze Übersicht der wichtigsten Befehle von MySQL geben.

MySQL-Befehle. In diesem Tutorial möchte ich eine kurze Übersicht der wichtigsten Befehle von MySQL geben. MySQL-Befehle 1. Einleitung In diesem Tutorial möchte ich eine kurze Übersicht der wichtigsten Befehle von MySQL geben. 2. Arbeiten mit Datenbanken 2.1 Datenbank anlegen Eine Datenbank kann man wie folgt

Mehr

Klausur PI Datenbanken II vom Name: Praktische Informatik (Krägeloh)

Klausur PI Datenbanken II vom Name: Praktische Informatik (Krägeloh) Versehen Sie jedes Aufgabenblatt/-blätter mit Ihrem Namen und geben es mit ab! Seite 1 Aufgabe 1: ( 30 Punkte) 1) Ein Entity-Set E1 wird in die Subklassen S1 und S2 spezialisiert. Was bedeutet die Aussage:

Mehr

10. Programmieren in SQL

10. Programmieren in SQL 10. Programmieren in SQL Inhalt 10.1 Motivation 10.2 Prozedurale Erweiterungen von SQL 10.3 Gespeicherte Prozeduren 10.4 Benutzerdefinierte Funktionen 10.5 Verwendung anderer Programmiersprachen 2 10.1

Mehr

1 Aufgaben 1.1 Umgebungsvariable setzen: CLASSPATH

1 Aufgaben 1.1 Umgebungsvariable setzen: CLASSPATH 1 Aufgaben 1.1 Umgebungsvariable setzen: CLASSPATH Die Umgebungsvariable CLASSPATH kann im Hamster-Simulator sowohl für Compiler als auch für die Ausführung des Hamster-Programms gesetzt werden: Hierdurch

Mehr

JAVA-Datentypen und deren Wertebereich

JAVA-Datentypen und deren Wertebereich Folge 8 Variablen & Operatoren JAVA 8.1 Variablen JAVA nutzt zum Ablegen (Zwischenspeichern) von Daten Variablen. (Dies funktioniert wie beim Taschenrechner. Dort können Sie mit der Taste eine Zahl zwischenspeichern).

Mehr

Unterlagen. CPP-Uebungen-08/

Unterlagen.  CPP-Uebungen-08/ Unterlagen http://projects.eml.org/bcb/people/ralph/ CPP-Uebungen-08/ http://www.katjawegner.de/lectures.html Kommentare in C++ #include /* Dies ist ein langer Kommentar, der über zwei Zeilen

Mehr

Programmiertechnik Kontrollstrukturen

Programmiertechnik Kontrollstrukturen Programmiertechnik Kontrollstrukturen Prof. Dr. Oliver Haase Oliver Haase Hochschule Konstanz 1 Was sind Kontrollstrukturen? Kontrollstrukturen erlauben es, ein Programm nicht nur Zeile für Zeile auszuführen,

Mehr

Oracle 10g Einführung

Oracle 10g Einführung Kurs Oracle 10g Einführung Teil 5 Einführung Timo Meyer Administration von Oracle-Datenbanken Timo Meyer Sommersemester 2006 Seite 1 von 16 Seite 1 von 16 Agenda 1 Tabellen und Views erstellen 2 Indizes

Mehr

Struktur von PL/SQL. Oracle PL/SQL Die Programmiersprache von Oracle. Ein Beispiel. Bildschirmausgabe. Using Oracle PL/SQL.

Struktur von PL/SQL. Oracle PL/SQL Die Programmiersprache von Oracle. Ein Beispiel. Bildschirmausgabe. Using Oracle PL/SQL. Oracle PL/SQL Die Programmiersprache von Oracle Struktur von PL/SQL Using Oracle PL/SQL http://www-db.stanford.edu/~ullman/fcdb/oracle/or-plsql.html Constraints and Triggers http://www-db.stanford.edu/~ullman/fcdb/oracle/or-triggers.html

Mehr

Modellierung und Programmierung 1

Modellierung und Programmierung 1 Modellierung und Programmierung 1 Prof. Dr. Sonja Prohaska Computational EvoDevo Group Institut für Informatik Universität Leipzig 4. November 2015 Administratives Zur Abgabe von Übungsaufgaben Nein, wir

Mehr

4.4 Imperative Algorithmen Verzweigung und Iteration

4.4 Imperative Algorithmen Verzweigung und Iteration Eine weitere bedingte Schleife kann in Java mit dem Schlüsselwort for definiert werden: for (; i ; ) Alle drei Bestandteile im Schleifenkopf sind Ausdrücke

Mehr

insert, update, delete Definition des Datenbankschemas select, from, where Rechteverwaltung, Transaktionskontrolle

insert, update, delete Definition des Datenbankschemas select, from, where Rechteverwaltung, Transaktionskontrolle Einführung in SQL insert, update, delete Definition des Datenbankschemas select, from, where Rechteverwaltung, Transaktionskontrolle Quelle Wikipedia, 3.9.2015 SQL zur Kommunikation mit dem DBMS SQL ist

Mehr

Strukturierte Objekttypen

Strukturierte Objekttypen Strukturierte Objekttypen Der Typ t approxmatch row des letzten Beispiels ist ein sogenannter Objekttyp. Definition: Ein Objekttyp ist ein Datentyp, bei dem (u.u. verschiedene) bekannte Datentypen zu einem

Mehr

Steuerungsstrukturen. Ablaufsteuerung der PL/SQL Ausführung. IF Anweisungen. Einfaches IF

Steuerungsstrukturen. Ablaufsteuerung der PL/SQL Ausführung. IF Anweisungen. Einfaches IF Steuerungsstrukturen Ablaufsteuerung der PL/SQL Ausführung Der logische Ablauf der Ausführung kann mit If und Loop Strukturen verändert werden Bedingte Anweisungen: IF-THEN-END IF IF-THEN-ELSE-END IF IF-THEN-ELSIF-END

Mehr

PL/pgSQL. VU Datenbanksysteme. Reinhard Pichler

PL/pgSQL. VU Datenbanksysteme. Reinhard Pichler PL/pgSQL VU Datenbanksysteme Reinhard Pichler Arbeitsbereich Datenbanken und Artificial Intelligence Institut für Informationssysteme Technische Universität Wien Wintersemester 2015/16 Gliederung Einführung

Mehr

Inhaltsverzeichnis. Einleitung

Inhaltsverzeichnis. Einleitung vn Inhaltsverzeichnis Einleitung Kapitel 1: Eine Einführung in relationale Datenbanken 7 Was ist eine relationale Datenbank? 9 Verknüpfen der einzelnen Tabellen 10 Die Reihenfolge der Zeilen ist beliebig

Mehr

Vorlesung Datenbanksysteme vom PL/SQL (von Oracle) Einführung Deklarationen Cursor Ablaufsteuerung Fehlerbehandlung stored program units

Vorlesung Datenbanksysteme vom PL/SQL (von Oracle) Einführung Deklarationen Cursor Ablaufsteuerung Fehlerbehandlung stored program units Vorlesung Datenbanksysteme vom 10.10.2007 PL/SQL (von Oracle) Einführung Deklarationen Cursor Ablaufsteuerung Fehlerbehandlung stored program units PL/SQL-Programmteile in der Vorlesung Folien: Enthalten

Mehr

Prakt. Datenbankprogrammierung. Sommersemester 2005

Prakt. Datenbankprogrammierung. Sommersemester 2005 Prakt. Datenbankprogrammierung Sommersemester 2005 II,2: Schreiben von ausführbaren Statements Martin-Luther-Universität Halle, Institut für Informatik, Datenbanken Christian Goldberg PL/SQL-Block-Syntax

Mehr

Abschnitt 5. Grundlagen der funktionalen & imperativen Programmierung

Abschnitt 5. Grundlagen der funktionalen & imperativen Programmierung Übersicht Abschnitt 5. Grundlagen der funktionalen & imperativen Programmierung Einführung in die Programmierung 5. Grundlagen der funktionalen & imperativen Programmierung 1 Übersicht 5.1 Sorten und Abstrakte

Mehr

Prof. Dr. Oliver Haase Karl Martin Kern Achim Bitzer. Programmiertechnik Kontrollstrukturen

Prof. Dr. Oliver Haase Karl Martin Kern Achim Bitzer. Programmiertechnik Kontrollstrukturen Prof. Dr. Oliver Haase Karl Martin Kern Achim Bitzer Programmiertechnik Kontrollstrukturen Was sind Kontrollstrukturen Kontrollstrukturen erlauben es, ein Programm nicht nur Zeile für Zeile auszuführen,

Mehr

SQL (Structured Query Language) Schemata Datentypen

SQL (Structured Query Language) Schemata Datentypen 2 SQL Sprachelemente Grundlegende Sprachelemente von SQL. 2.1 Übersicht Themen des Kapitels SQL Sprachelemente Themen des Kapitels SQL (Structured Query Language) Schemata Datentypen Im Kapitel SQL Sprachelemente

Mehr

Datenbank und Tabelle mit SQL erstellen

Datenbank und Tabelle mit SQL erstellen Datenbank und Tabelle mit SQL erstellen 1) Übung stat Mit dem folgenden Befehlen legt man die Datenbank stat an und in dieser die Tabelle data1 : CREATE DATABASE stat; USE stat; CREATE TABLE data1 ( `id`

Mehr

Übung PL/SQL Trigger Lösungen

Übung PL/SQL Trigger Lösungen Übung PL/SQL Trigger Lösungen 1) Gebe das aktuelle Datum aus. Wofür steht dual? Ändere das Datum für Deine aktuelle Session auf das Format Jahr (4 Stellen) Monat (2 Stellen) Tag (2 Stellen)[Leerzeichen]Stunde

Mehr

C++ Teil 2. Sven Groß. 16. Apr IGPM, RWTH Aachen. Sven Groß (IGPM, RWTH Aachen) C++ Teil Apr / 22

C++ Teil 2. Sven Groß. 16. Apr IGPM, RWTH Aachen. Sven Groß (IGPM, RWTH Aachen) C++ Teil Apr / 22 C++ Teil 2 Sven Groß IGPM, RWTH Aachen 16. Apr 2015 Sven Groß (IGPM, RWTH Aachen) C++ Teil 2 16. Apr 2015 1 / 22 Themen der letzten Vorlesung Hallo Welt Elementare Datentypen Ein-/Ausgabe Operatoren Sven

Mehr

Kapitel 3: Variablen

Kapitel 3: Variablen Kapitel 3: Variablen Thema: Programmieren Seite: 1 Kapitel 3: Variablen Im letzten Kapitel haben wir gelernt, bestimmte Ereignisse zu wiederholen solange eine Bedingung erfüllt ist. Nun möchten wir aber

Mehr

Java - Schleifen. Bedingung. wiederhole. Anweisung Anweisung Anweisung. Leibniz Universität IT Services Anja Aue

Java - Schleifen. Bedingung. wiederhole. Anweisung Anweisung Anweisung. Leibniz Universität IT Services Anja Aue Java - Schleifen Bedingung wiederhole ja Anweisung Anweisung Anweisung Leibniz Universität IT Services Anja Aue Anweisung int zahl; zahl = 2; zahl = zahl * 10; int zahl; ; Jede Anweisung endet mit einem

Mehr

Anleitung Anleitung Anleitung Anleitung Anleitung Anleitung Anleitung Anleitung Anleitung

Anleitung Anleitung Anleitung Anleitung Anleitung Anleitung Anleitung Anleitung Anleitung for-schleife 1. Aufgabe: 1 Tippe die Zeilen in BlueJ ein. Was macht das Programm? public class C14ForSchleife { int i; for(i=0;i

Mehr

Schachtelung der 2. Variante (Bedingungs-Kaskade): if (B1) A1 else if (B2) A2 else if (B3) A3 else if (B4) A4 else A

Schachtelung der 2. Variante (Bedingungs-Kaskade): if (B1) A1 else if (B2) A2 else if (B3) A3 else if (B4) A4 else A 2.4.6. Kontrollstrukturen if-anweisung: Bedingte Ausführung (Verzweigung) 2 Varianten: if (Bedingung) Anweisung (Anweisung = einzelne Anweisung oder Block) Bedeutung: die Anweisung wird nur ausgeführt,

Mehr

Angewandte Mathematik und Programmierung

Angewandte Mathematik und Programmierung Angewandte Mathematik und Programmierung Einführung in das Konzept der objektorientierten Anwendungen zu mathematischen Rechnens WS 2013/14 Operatoren Operatoren führen Aktionen mit Operanden aus. Der

Mehr

Algorithmen als systematische Vorgehensweisen zur Lösung eines formal definierten Problems

Algorithmen als systematische Vorgehensweisen zur Lösung eines formal definierten Problems 4. Algorithmen Motivation Algorithmen als systematische Vorgehensweisen zur Lösung eines formal definierten Problems Der Begriff Algorithmus geht auf den Gelehrten Muhammad al-chwarizmi zurück, der um

Mehr

Java Anweisungen und Ablaufsteuerung

Java Anweisungen und Ablaufsteuerung Informatik 1 für Nebenfachstudierende Grundmodul Java Anweisungen und Ablaufsteuerung Kai-Steffen Hielscher Folienversion: 24. Januar 2017 Informatik 7 Rechnernetze und Kommunikationssysteme Inhaltsübersicht

Mehr

4. Objektrelationales Typsystem Kollektionstypen. Nested Table

4. Objektrelationales Typsystem Kollektionstypen. Nested Table Nested Table Bei einer Nested Table handelt es sich um eine Tabelle als Attributwert. Im Gegensatz zu Varray gibt es keine Beschränkung bei der Größe. Definition erfolgt auf einem Basistyp, als Basistypen

Mehr

PIC16 Programmierung in HITECH-C

PIC16 Programmierung in HITECH-C PIC16 Programmierung in HITECH-C Operatoren: Arithmetische Operatoren - binäre Operatoren + Addition - Subtraktion * Multiplikation / Division % Modulo + - * / sind auf ganzzahlige und reelle Operanden

Mehr

Es geht also im die SQL Data Manipulation Language.

Es geht also im die SQL Data Manipulation Language. 1 In diesem Abschnitt wollen wir uns mit den SQL Befehlen beschäftigen, mit denen wir Inhalte in Tabellen ( Zeilen) einfügen nach Tabelleninhalten suchen die Inhalte ändern und ggf. auch löschen können.

Mehr

Oracle PL/SQL Marco Skulschus Marcus Wiederstein

Oracle PL/SQL Marco Skulschus Marcus Wiederstein www.comelio-medien.com Oracle PL/SQL Marco Skulschus Marcus Wiederstein Oracle PL/SQL Marco Skulschus Marcus Wiederstein Oracle PL/SQL Marco Skulschus Marcus Wiederstein Webseite zum Buch: www.comelio-medien.com/buch-katalog/oracle/oracle_pl_sql

Mehr

JavaScript. Dies ist normales HTML. Hallo Welt! Dies ist JavaScript. Wieder normales HTML.

JavaScript. Dies ist normales HTML. Hallo Welt! Dies ist JavaScript. Wieder normales HTML. JavaScript JavaScript wird direkt in HTML-Dokumente eingebunden. Gib folgende Zeilen mit einem Texteditor (Notepad) ein: (Falls der Editor nicht gefunden wird, öffne im Browser eine Datei mit der Endung

Mehr

CADSTAR MRP-Link. MRP-Link ist erstellt von:

CADSTAR MRP-Link. MRP-Link ist erstellt von: CADSTAR MRP-Link MRP-Link ist erstellt von: CSK CAD Systeme Kluwetasch Zip: 2161 Town: Altenholz Street: Struckbrook 9 Tel: +9-31-32917-0 Fax: +9-31-32917-26 Web: http://www.cskl.de E-Mail: Kluwetasch@cskl.de

Mehr

Abfragen (Queries, Subqueries)

Abfragen (Queries, Subqueries) Abfragen (Queries, Subqueries) Grundstruktur einer SQL-Abfrage (reine Projektion) SELECT [DISTINCT] {* Spaltenname [[AS] Aliasname ] Ausdruck} * ; Beispiele 1. Auswahl aller Spalten SELECT * ; 2. Auswahl

Mehr

Algorithmen als systematische Vorgehensweisen zur Lösung eines formal definierten Problems

Algorithmen als systematische Vorgehensweisen zur Lösung eines formal definierten Problems 4. Algorithmen Motivation Algorithmen als systematische Vorgehensweisen zur Lösung eines formal definierten Problems Der Begriff Algorithmus geht auf den Gelehrten Muhammad al-chwarizmi zurück, der um

Mehr

Vorkurs Informatik WiSe 16/17

Vorkurs Informatik WiSe 16/17 Java Ausdrücke und Variablen Dr. Werner Struckmann / Stephan Mielke, Jakob Garbe, 05.10.2016 Technische Universität Braunschweig, IPS Überblick Ausdrücke, Datentypen und Variablen Kontrollstrukturen 05.10.2016

Mehr

Neuerungen in Marco Patzwahl MuniQSoft GmbH Unterhaching

Neuerungen in Marco Patzwahl MuniQSoft GmbH Unterhaching Neuerungen in 12.2 Marco Patzwahl MuniQSoft GmbH Unterhaching Schlüsselworte Neuerungen in 12.2, DBA Einleitung Jede neue Datenbankversion bringt diverse Neuerungen mit. Nur welche sind wichtig und welche

Mehr

Objektorientierung unter Oracle richtet sich einerseits nach objekt-orientierten Programmiersprachen wie Java,

Objektorientierung unter Oracle richtet sich einerseits nach objekt-orientierten Programmiersprachen wie Java, Tipps & Tricks: Objektorientierung Bereich: PLSQL Erstellung: 032001 HA Versionsinfo: 9.2, 10.2, 11.1 Letzte Überarbeitung: 062009 HA Objektorientierung unter Oracle Objektorientierung unter Oracle richtet

Mehr

Java Ablaufsteuerung (Beispiele)

Java Ablaufsteuerung (Beispiele) Informatik 1 für Nebenfachstudierende Grundmodul Java Ablaufsteuerung (Beispiele) Kai-Steffen Hielscher Folienversion: 16. Januar 2018 Informatik 7 Rechnernetze und Kommunikationssysteme Blöcke Anweisungen

Mehr

(Aufgaben zu Wertzuweisungen siehe Vorlesungsbeilage S. 49)

(Aufgaben zu Wertzuweisungen siehe Vorlesungsbeilage S. 49) Anweisungen Eine Anweisung ist eine in einer beliebigen Programmiersprache abgefaßte Arbeitsvorschrift für einen Computer. Jedes Programm besteht aus einer bestimmten Anzahl von Anweisungen. Wir unterscheiden

Mehr

3. Anweisungen und Kontrollstrukturen

3. Anweisungen und Kontrollstrukturen 3. Kontrollstrukturen Anweisungen und Blöcke 3. Anweisungen und Kontrollstrukturen Mit Kontrollstrukturen können wir den Ablauf eines Programmes beeinflussen, z.b. ob oder in welcher Reihenfolge Anweisungen

Mehr

Einfache Rechenstrukturen und Kontrollfluss

Einfache Rechenstrukturen und Kontrollfluss Einfache Rechenstrukturen und Kontrollfluss Christian Böhm WS 07/08 in Zusammenarbeit mit Gefei Zhang http://www.dbs.informatik.uni-muenchen.de/lehre/nfinfosw 2 Ziele Verstehen der Grunddatentypen von

Mehr

Institut für Programmierung und Reaktive Systeme. Java 2. Markus Reschke

Institut für Programmierung und Reaktive Systeme. Java 2. Markus Reschke Java 2 Markus Reschke 07.10.2014 Datentypen Was wird gespeichert? Wie wird es gespeichert? Was kann man mit Werten eines Datentyps machen (Operationen, Methoden)? Welche Werte gehören zum Datentyp? Wie

Mehr

Korrekturen und Ergänzungen zur ABAP-Referenz

Korrekturen und Ergänzungen zur ABAP-Referenz Korrekturen und Ergänzungen zur ABAP-Referenz S. 41, zweiter Absatz In den Kapiteln 9 bis 41 beschreiben wir die... S. 147, 6.3.3.1 Neue Überschrift: Typen für Datenreferenzvariablen S. 148, 6.3.3.2 Neue

Mehr

1 Bedingte Anweisungen. 2 Vergleiche und logische Operatoren. 3 Fallunterscheidungen. 4 Zeichen und Zeichenketten. 5 Schleifen.

1 Bedingte Anweisungen. 2 Vergleiche und logische Operatoren. 3 Fallunterscheidungen. 4 Zeichen und Zeichenketten. 5 Schleifen. Themen der Übung Kontrollstrukturen, Pseudocode und Modulo-Rechnung CoMa-Übung III TU Berlin 9.10.01 1 Bedingte Anweisungen Vergleiche und logische Operatoren 3 Fallunterscheidungen 4 Zeichen und Zeichenketten

Mehr

Folien php/mysql Kurs der Informatikdienste

Folien php/mysql Kurs der Informatikdienste Folien php/mysql Kurs der Informatikdienste 1. Einführung in die Datenbank MySQL Kursbeispiel und Kursziele 1.1 Das Kursbeispiel: eine kleine Personalverwaltung 1.2 Was brauchen wir? 1.3 Ziele Kurs AEMS1,

Mehr

Grundlagen von SQL. Informatik 2, FS18. Dr. Hermann Lehner (Material von Dr. Markus Dahinden) Departement Informatik, ETH Zürich

Grundlagen von SQL. Informatik 2, FS18. Dr. Hermann Lehner (Material von Dr. Markus Dahinden) Departement Informatik, ETH Zürich Grundlagen von SQL Informatik 2, FS18 Dr. Hermann Lehner (Material von Dr. Markus Dahinden) Departement Informatik, ETH Zürich Markus Dahinden 13.05.18 1 Grundlagen von SQL (Structured Query Language)

Mehr

SQL,Teil 1: CREATE, INSERT, UPDATE, DELETE, DROP

SQL,Teil 1: CREATE, INSERT, UPDATE, DELETE, DROP SQL,Teil 1: CREATE, INSERT, UPDATE, DELETE, DROP W. Spiegel Übersicht DDL & DML Relationen definieren: CREATE Primärschlüssel setzen mit primary key Tabellen löschen: DROP Daten speichern: INSERT Daten

Mehr

Teil 5 - Java. Programmstruktur Operatoren Schlüsselwörter Datentypen

Teil 5 - Java. Programmstruktur Operatoren Schlüsselwörter Datentypen Teil 5 - Java Programmstruktur Operatoren Schlüsselwörter Datentypen 1 Kommentare in Java In Java gibt es drei Möglichkeiten zur Kommentierung: // Kommentar Alle Zeichen nach dem // werden ignoriert. für

Mehr

5/14/18. Grundlagen von SQL. Grundlagen von SQL. Google, Facebook und Co. setzen auf SQL. Whatsapp

5/14/18. Grundlagen von SQL. Grundlagen von SQL. Google, Facebook und Co. setzen auf SQL. Whatsapp 5/14/18 Grundlagen von SQL (Structured Query Language) Datenbanksprache Befehle Datenbanken und Tabellen erstellen/verändern Daten manipulieren (eingeben, ändern, löschen) Datenbank durchsuchen (Queries

Mehr