Art der Info: Technische Background Info Teil 3 (April 2002)

Save this PDF as:
 WORD  PNG  TXT  JPG

Größe: px
Ab Seite anzeigen:

Download "Art der Info: Technische Background Info Teil 3 (April 2002)"

Transkript

1 Betrifft: Autor: Oracle9i New Features SQL und PL/SQL Patrick Malcherek Art der Info: Technische Background Info Teil (April 00) Quelle: Aus dem NF9i-Kurs und NF9i-Techno-Circle der Trivadis Einleitung Im ersten und zweiten Teil haben wir neue SQL-Funktionen, die ANSI kompatible Join Syntax und das Sub-Query Factoring als neue Features der Version 9i kennen gelernt. In diesem dritten Teil werden wir nun untersuchen, welche neuen Möglichkeiten sich uns bei Hierarchischen Abfragen und CURSOR Expressions mit Oracle 9i bieten. Hierarchische Abfragen Die hierarchischen Abfragen hat Oracle in der neuesten Version 9i überarbeitet. So galten bisher die folgenden Einschränkungen: eine Sortierung mit der ORDER BY-Klausel übersteuerte die gefundene Hierarchie ein JOIN oder eine VIEW, die einen JOIN beinhaltete, konnte nicht verwendet werden eine Master-Detail-Beziehung musste demzufolge in der gleichen Tabelle abgelegt sein eine Sub-Query war nicht erlaubt JOIN Beziehung Einen JOIN in einer CONNECT BY-Klausel zu verwenden ist nun problemlos möglich. SQL> SELECT LPAD('/', * level,'-') ename "", deptno, loc, 5 FROM emp NATURAL JOIN dept 6 START WITH mgr IS NULL 7 CONNECT BY PRIOR empno = mgr; DEPTNO - LOC ---

2 -/KING ---/JONES -----/SCOTT /ADAMS -----/FORD /SMITH ---/CLARK -----/MILLER ---/BLAKE -----/ALLEN Aufgrund dieser neuen Option ist auch eine Master-Detail Beziehung in unterschiedlichen Tabellen machbar. Mit CREATE TABLE AS SELECT wird eine Hilfstabelle erstellt, welche den Detail-Schlüssel mgr enthält. SQL> CREATE TABLE t_mgr AS SELECT empno, mgr FROM emp; Die entsprechende Abfrage mit einer zusammengesetzten Master-Detail Beziehung lautet dann: SQL> SELECT LPAD('/', *,'-') e.ename "", e.deptno, FROM emp e JOIN t_mgr m ON (e.empno = m.empno) 5 START WITH m.mgr IS NULL 6 CONNECT BY PRIOR e.empno = m.mgr; /KING ---/CLARK -----/MILLER DEPTNO - Selbst eine CONNECT BY-Klausel auf eine VIEW, welche einen JOIN beinhaltet, kann nun verwendet werden. Hierzu wird zuerst eine entsprechende VIEW erstellt: SQL> CREATE VIEW v_emp_dept (empno, ename, mgr, job, deptno, loc) AS SELECT empno 5, ename 6, mgr 7, job 8, deptno 9, loc

3 FROM emp NATURAL JOIN dept; View wurde angelegt. SQL> SELECT LPAD('/', *,'-') ename "", job, loc, 5 FROM v_emp_dept 6 START WITH mgr IS NULL 7 CONNECT BY PRIOR empno = mgr; -/KING ---/JONES -----/SCOTT /ADAMS -----/FORD /SMITH ---/CLARK -----/MILLER ---/BLAKE -----/ALLEN -----/WARD -----/JAMES -----/TURNER -----/MARTIN JOB PRESIDENT LOC --- Sortierung Ein weiteres Problem stellte bisher dar, dass Resultate einer hierarchischen Anweisung mittels ORDER BY nicht sinnvoll sortiert werden konnten. Wie das Beispiel zeigt, wird dadurch die hierarchische Form zerstört: SQL> SELECT LPAD('/', *,'-') ename "", job, FROM emp 5 START WITH mgr IS NULL 6 CONNECT BY PRIOR empno = mgr 7 ORDER BY ename; - /ADAMS -----/ALLEN JOB ---

4 ---/BLAKE ---/CLARK -----/FORD -----/JAMES ---/JONES -/KING -----/MARTIN -----/MILLER -----/SCOTT /SMITH -----/TURNER -----/WARD PRESIDENT Bisher mussten die Daten mit einem CREATE TABLE AS SELECT & ORDER BY Befehl bearbeitet werden, um darüber die CONNECT BY-Klausel laufen zu lassen. In Oracle 9i steht uns nun die ORDER SIBLINGS BY-Klausel zum Sortieren zur Verfügung. Das Schlüsselwort SIBLINGS bewirkt, dass beim Sortiervorgang die vorhandene Hierarchie berücksichtigt wird: SQL> SELECT LPAD('/', * level,'-') ename "", job, FROM emp 5 START WITH mgr IS NULL 6 CONNECT BY PRIOR empno = mgr 7 ORDER SIBLINGS BY ename; -/KING ---/BLAKE -----/ALLEN -----/JAMES -----/MARTIN -----/TURNER -----/WARD ---/CLARK -----/MILLER ---/JONES -----/FORD /SMITH -----/SCOTT /ADAMS JOB --- PRESIDENT

5 SYS_CONNECT_BY_PATH Neu ist auch die SYS_CONNECT_BY_PATH-Klausel. Sie veranschaulicht den hierarchischen Weg zum Root-Element. Der zweite Parameter gibt das Trennzeichen zwischen den verschiedenen Stufen an. SQL> SELECT SYS_CONNECT_BY_PATH(ename,'/') "", job, FROM emp 5 START WITH mgr IS NULL 6 CONNECT BY PRIOR empno = mgr 7 ORDER SIBLINGS BY ename; --- /KING /KING/BLAKE /KING/BLAKE/ALLEN /KING/BLAKE/JAMES /KING/BLAKE/MARTIN /KING/BLAKE/TURNER /KING/BLAKE/WARD /KING/CLARK /KING/CLARK/MILLER /KING/JONES /KING/JONES/FORD /KING/JONES/FORD/SMITH /KING/JONES/SCOTT /KING/JONES/SCOTT/ADAMS JOB --- PRESIDENT Sub-Query Eine Sub-Query in der CONNECT BY-Klausel, wie im folgenden Beispiel ersichtlich, ist weiterhin nicht erlaubt. SQL> SELECT ename, empno, mgr FROM emp 5 START WITH mgr IS NULL 6 CONNECT BY PRIOR empno = (SELECT mgr 7 FROM emp 8 WHERE ename = 'KING'); from emp * FEHLER in Zeile : ORA-07: Unterabfragen in CONNECT BY-Klausel nicht zulässig

6 Neu ist nur die Möglichkeit eine Sub-Query in der FROM Klausel anzusprechen, da seit 9i JOIN-Beziehungen erlaubt sind. SQL> SELECT LPAD('/', * level,'-') e.ename "", e.deptno, dname, 5 FROM emp e, (SELECT dname, deptno 6 FROM dept ) d 7 WHERE d.deptno = e.deptno 8 START WITH mgr IS NULL 9 CONNECT BY PRIOR empno = mgr; CURSOR Expressions Cursor Expressions werden schon seit Oracle 8i in SQL unterstützt. Neu ist, dass sie nun auch in PL/SQL verarbeitet werden können. Es besteht jetzt die Möglichkeit, eine Cursor Expression als REF CURSOR Argument an eine Funktion zu übergeben. Der Rückgabewert der Cursor Expression ist ein Nested Cursor. Jede Row des Result-Sets enthält einerseits skalare Werte und andererseits Cursoren, welche über Sub-Queries produziert werden, die wiederum von der Hauptquery abhängig sind. Das Result-Set kann über Nested Loops abgearbeitet werden. Zuerst werden die äußeren Rows gelesen und für jede Column, die eine Cursor Expression enthält, wird ein weiterer Loop durchgeführt. PL/SQL unterstützt Queries mit Cursor Expressions, als einen Teil der Cursor-, REF CURSOR Deklaration und REF CURSOR Variablen. Auch können die Cursor Expressions in Dynamic SQL Queries verwendet werden. CURSOR (subquery) Der Nested Cursor wird automatisch von Oracle geöffnet, sobald die den Cursor enthaltene Row aus dem Parent Cursor genommen wird. Geschlossen wird der Nested Cursor, wenn er vom Benutzer explizit geschlossen wird der Parent Cursor wiederholt ausgeführt wird der Parent Cursor geschlossen wird eine Exception in der Cursor-Verarbeitung auftritt

7 Das folgende Beispiel zeigt eine Cursor Expression in PL/SQL. Die SELECT- Klausel in der Cursor- Deklaration enthält wiederum einen Cursor. SQL> DECLARE TYPE refcursor IS REF CURSOR; /* Deklaration der CURSOR Expression */ CURSOR c_dept IS 5 SELECT d.deptno 6, d.dname 7, d.loc 8, CURSOR (SELECT empno 9, ename, job, hiredate FROM emp e WHERE e.deptno = d.deptno) FROM dept d; 5 /* Deklaration der REF_CURSOR Variablen welche später 6 das Ergebnis des Nested Cursors enthält */ 7 emps refcursor; 8 v_deptno dept.deptno%type; 9 v_dname dept.dname%type; 0 v_empno emp.empno%type; v_ename emp.ename%type; v_job emp.job%type; v_hiredate emp.hiredate%type; v_loc dept.loc%type; 5 BEGIN 6 /* Öffnen des Parent Cursors */ 7 OPEN c_dept; 8 LOOP 9 /* Fetchen der Columns c_dept.v_deptno, c_dept.v_dname 0 danach folgt ein Loop durch das Result-Set des Nested Cursors */ FETCH c_dept INTO v_deptno, v_dname, v_loc, emps; EXIT WHEN c_dept%notfound; DBMS_OUTPUT.put_line ('Department : ' v_dname); 5 LOOP 6 /* einholen der Daten vom Nested Cursor, 7 dieser muss nicht mehr geöffnet werden */ 8 FETCH emps INTO v_empno, v_ename, v_job, v_hiredate; 9 EXIT WHEN emps%notfound; 0 DBMS_OUTPUT.put_line ('-- Employee : ' v_ename); END LOOP; END LOOP; /* schließen des Parent Cursors, Nested Cursor muss nicht extra geschlossen werden */ 5 CLOSE c_dept; 6 END;

8 Department : ACCOUNTING -- Employee : CLARK -- Employee : KING -- Employee : MILLER Department : RESEARCH -- Employee : SMITH -- Employee : JONES... Das nächste Beispiel zeigt eine Funktion, welche ein Result-Set (Query mittels REFCURSOR) entgegen nimmt. Die Funktion berechnet die Summe von Gehältern gemäß den Attributen DEPTNO und JOB, wobei jeweils mehr als eine DEPTNO und mehr als ein JOB vorkommen können. SQL> CREATE FUNCTION f_complexsum(p_cursor SYS_REFCURSOR) /*das REF CURSOR Argument muss als SYS_REFCURSOR in einer Funktion deklariert werden */ RETURN NUMBER IS 5 BEGIN 6 DECLARE 7 v_deptno emp.deptno%type; 8 v_job emp.job%type; 9 v_sumsal NUMBER; v_totsal NUMBER := 0; BEGIN LOOP FETCH p_cursor INTO v_deptno, v_job; EXIT WHEN (p_cursor%notfound); 5 SELECT SUM(sal) 6 INTO v_sumsal 7 FROM emp 8 WHERE job = v_job 9 AND deptno = v_deptno; 0 v_totsal := v_totsal + v_sumsal; END LOOP; CLOSE p_cursor; RETURN(v_totSal); END; 5 END;

9 Die einfachste Form des Aufrufs: SQL> SELECT f_complexsum(cursor ( SELECT, 'PRESIDENT' FROM dual)) f_complexsum FROM dual; f_complexsum Der Aufruf eines Result-Sets mit mehreren Rows: SQL> SELECT f_complexsum(cursor( SELECT deptno, job FROM emp WHERE comm IS NOT NULL)) f_complexsum FROM dual; f_complexsum Hier die Möglichkeit die Funktion mit unterschiedlichen Queries aufzurufen. Dadurch wird ermittelt: die Summe der Angestellten mit dem gleichem Job in anderen Abteilungen die Summe der Angestellten mit anderem Job in der gleichen Abteilung SQL> SELECT e.deptno, e.ename, e.job, e.sal 5, f_complexsum(cursor ( 6 SELECT DISTINCT od.deptno, od.job 7 FROM emp od 8 WHERE od.deptno!= e.deptno 9 AND od.job = e.job)) "my job other depts", f_complexsum(cursor ( SELECT DISTINCT oj.deptno, oj.job FROM emp oj WHERE oj.deptno = e.deptno AND oj.job!= e.job)) "my dept other jobs" 5 FROM emp e; DEPTNO E JOB SAL my job other depts my dept other j SMITH ALLEN WARD JONES

10 0 MARTIN BLAKE CLARK SCOTT KING PRESIDENT TURNER ADAMS JAMES FORD MILLER Zur Veranschaulichung des vorangegangenen Aufrufs, folgt ein Aufruf ohne die Funktion: SQL> SELECT e.deptno, e.ename, e.job, e.sal 5, (CURSOR (SELECT DISTINCT od.deptno, od.job 6 FROM emp od 7 WHERE od.deptno!= e.deptno 8 AND od.job = e.job)) "my job other depts" 9, (CURSOR (SELECT DISTINCT oj.deptno, oj.job FROM emp oj WHERE oj.deptno = e.deptno AND oj.job!= e.job)) "my dept other jobs" FROM emp e;... MILLER 0 CURSOR STATEMENT: 5 CURSOR STATEMENT: 6 CURSOR STATEMENT : 5 Other departments DEPTNO JOB CURSOR STATEMENT : 6 Other jobs DEPTNO JOB PRESIDENT...

11 Welche Einschränkungen gibt es? Eine Cursor Expression kann nicht in einem impliziten Cursor verwendet werden. Cursor Expressions können an folgenden Stellen verwendet werden: - Ein SELECT Statement (jedoch nicht geschachtelt in einer weiteren Query Expression) oder in der Sub- Query einer Cursor Expression. - Als Argumente zu Table Functions, in der FROM Klausel eines SELECT Statements. - Cursor Expressions können nur in der äußersten SELECT Liste der Query- Spezifikation erscheinen Cursor Expressions können nicht in einer View verwendet werden. Es ist nicht möglich BIND und EXECUTE Operationen an Cursor Expressions auszuführen. Fazit Wie wir sehen konnten gibt es einige neue Features, die sehr nützlich für hierarchische Abfragen sind und dort die Arbeit z.b. bei gewünschten Sortierungen sehr vereinfachen. Auch die neuen Möglichkeiten im Bereich der Cursor Expressions ermöglichen es, komplexe Programmieraufgaben sehr kompakt zu lösen. Alles in allem können wir sagen, dass mit der Version 9i einige Neuerungen kamen, die sehr gut in der Praxis anwendbar sind und zum Teil durchaus in ihrer Einfachheit bestechen. Jetzt liegt es nur noch an uns, sie auch zu unserem Vorteil einzusetzen. Falls Sie noch mehr über die New Features von 9i erfahren wollen, würde es uns freuen, Sie in einem unserer 9i-Kurs (NF9i, AI9-A, AI9-B) begrüssen zu dürfen. Patrick Malcherek Trivadis AG Mail: Cityforum im Eichsfeld Tel: Ferdinand-Stuttmann-Str. Fax: D-658 Rüsselsheim Internet:

Art der Info: Technische Background Info Teil 2 (April 2002)

Art der Info: Technische Background Info Teil 2 (April 2002) Betrifft: Autor: Oracle 9i New Features SQL und PL/SQL Christine Hansen (christine.hansen@trivadis.com) Art der Info: Technische Background Info Teil 2 (April 2002) Quelle: Aus dem NF9i-Kurs und NF9i-Techno-Circle

Mehr

Art der Info: Technische Background Info Teil 1 (April 2002)

Art der Info: Technische Background Info Teil 1 (April 2002) Betrifft: Autor: Oracle 9i New Features SQL und PL/SQL Christine Hansen (christine.hansen@trivadis.com) Art der Info: Technische Background Info Teil 1 (April 2002) Quelle: Aus dem NF9i-Kurs und NF9i-Techno-Circle

Mehr

Die bisher bereits bekannten Aggregatsfunktionen MIN, MAX, SUM, AVG, COUNT, VARIANCE und STDDEV wurden um FIRST und LAST erweitert.

Die bisher bereits bekannten Aggregatsfunktionen MIN, MAX, SUM, AVG, COUNT, VARIANCE und STDDEV wurden um FIRST und LAST erweitert. Betrifft Autor FIRST, LAST Markus Jägle (markus.jaegle@trivadis.com) Art der Info Technische Background Info (April 2002) Quelle Aus dem NF9i-Kurs, NF9i-Techno-Circle der Trivadis und Oracle9i Data Warehousing

Mehr

Prakt. Datenbankprogrammierung. Sommersemester 2005

Prakt. Datenbankprogrammierung. Sommersemester 2005 Prakt. Datenbankprogrammierung Sommersemester 2005 A,2: Hierarchische Anfragen Martin-Luther-Universität Halle, Institut für Informatik, Datenbanken Christian Goldberg Wann ist eine hierarchische Anfrage

Mehr

Oracle 8i und 9i New Features. DOAG November Peter Jensch, Trivadis GmbH

Oracle 8i und 9i New Features. DOAG November Peter Jensch, Trivadis GmbH Oracle 8i und 9i New Features DOAG November 200 Peter Jensch, Trivadis GmbH Facts & Figures Über 300 Mitarbeiter (D und CH) Über 200 Oracle Consultant Über 300 Kunden (ohne Schulung) Über 000 Projekte

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

SQL. Datenmanipulation. Datenmanipulationssprache. Ein neues Tupel hinzufügen. Das INSERT Statement

SQL. Datenmanipulation. Datenmanipulationssprache. Ein neues Tupel hinzufügen. Das INSERT Statement SQL Datenmanipulation Datenmanipulationssprache Ein DML Statement wird ausgeführt wenn: neue Tupel eingefügt werden existierende Tupel geändert werden existierende Tupel aus der Tabelle gelöscht werden

Mehr

Die Datenmanipulationssprache SQL

Die Datenmanipulationssprache SQL Die Datenmanipulationssprache SQL Daten eingeben Daten ändern Datenbank-Inhalte aus Dateien laden Seite 1 Data Manipulation Language A DML statement is executed when you Add new rows to a table Modify

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

Erzeugen von Constraints

Erzeugen von Constraints Erzeugen von Constraints Was sind Constraints? Durch Constraints werden Regeln auf einem bestimmtem Tabellen-Level erzwungen. Die folgenden Constraint-Typen sind in Oracle integriert: NOT NULL UNIQUE Key

Mehr

Views erzeugen. Datenbank - Objekte. Wozu braucht man Views? Was ist eine View?

Views erzeugen. Datenbank - Objekte. Wozu braucht man Views? Was ist eine View? Datenbank - Objekte Views erzeugen Objekt Tabelle View Sequence Index Synonym Objekt Beschreibung Basiseinheit zum Speichern; besteht aus Zeilen und Spalten; Logische Repräsentation; kann Teilmengen von

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

Datenbanken Labor, MI : Übung 1 SQL - Abfragen Patrick Lipinski

Datenbanken Labor, MI : Übung 1 SQL - Abfragen Patrick Lipinski Aufgabe 1 Erstellen Sie eine Abfrage, die aus der EMP/DEPT-Tabelle die Felder Empno, Ename, Deptno und dname aller Mitarbeiter mit einem Gehalt von > 2500 ausgibt. select EMPNO, ENAME from EMP where SAL

Mehr

Komplexe XML-Dokumente über XSU und Objekt-Typen aus der Datenbank generieren

Komplexe XML-Dokumente über XSU und Objekt-Typen aus der Datenbank generieren Komplexe XML-Dokumente über XSU und Objekt-Typen aus der Datenbank generieren Autor: Norbert Bahn, Opitz Consulting DOAGNews Q3_2005 Dieses Werk ist urheberrechtlich geschützt. Die dadurch begründeten

Mehr

Erzeugung und Veränderung von Tabellen

Erzeugung und Veränderung von Tabellen Datenbanken - Objekte Erzeugung und Veränderung von Tabellen Objekt Tabelle View Sequence Index Synonym Basiseinheit zum Speichern; besteht aus Zeilen und Spalten; Logische Repräsentation; kann Teilmengen

Mehr

Variable. Interaktive Skripte

Variable. Interaktive Skripte Interaktive Skripte Variable...sal =? deptno=?.. ename =?... Werte eingeben während der Laufzeit. Nutzer SQL1 basierend auf OAI-Kurs Copyright Oracle Corporation, 1998. All rights reserved SQL2 basierend

Mehr

Oracle Analytic Functions

Oracle Analytic Functions Mittwoch, 13.02.2008, 17:00 Uhr Regionaltreffen München/Südbayern Oracle Analytic Functions Seit Jahren auf dem Markt (8.1.6), jedoch unbekannt und selten im Einsatz S e i t e 1 Agenda Einsatzmöglichkeiten

Mehr

Skripte schreiben. Überblick SQL*Plus. Einloggen in SQL*Plus. Tabellenstrukturen anzeigen

Skripte schreiben. Überblick SQL*Plus. Einloggen in SQL*Plus. Tabellenstrukturen anzeigen Skripte schreiben Überblick Login in. Beschreiben der Tabellenstrukturen. Editieren der SQL-Anweisung Ausführen von SQL aus. SQL-Anweisungen in Dateien speichern bzw. SQL-Anweisungen anhängen. Ausführen

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

Inhalt. Behandlung von Views durch den CBO View Merging Predicate Pushing Complex View Merging Hints in Views Globale Hints. Dr.

Inhalt. Behandlung von Views durch den CBO View Merging Predicate Pushing Complex View Merging Hints in Views Globale Hints. Dr. Inhalt Behandlung von Views durch den CBO View Merging Predicate Pushing Complex View Merging Hints in Views Globale Hints Dr.Frank Haney 1 Behandlung von Views durch den CBO View Merging bedeutet, daß

Mehr

Einleitung. ROLLUP, CUBE und GROUPING. Markus Jägle (markus.jaegle@trivadis.com) Art der Info Technische Background Info (April 2002)

Einleitung. ROLLUP, CUBE und GROUPING. Markus Jägle (markus.jaegle@trivadis.com) Art der Info Technische Background Info (April 2002) Betrifft Autör: GROUPING_ID Markus Jägle (markus.jaegle@trivadis.com) Art der Info Technische Background Info (April 2002) Quelle Aus dem Oracle9i Data Warehousing Guide und den Kursen New Features Oracle9i

Mehr

Die relationale Abfragesprache SQL Structured Query Language

Die relationale Abfragesprache SQL Structured Query Language Die relationale Abfragesprache SQL Structured Query Language Übersicht Einfache Abfragen SQL*Plus Auswahlbedingungen (where-klausel) Ein-Zeilen-Funktionen, Gruppenfunktionen Gruppierung von Daten Unter-Abfragen

Mehr

Analytische Funktionen erfolgreich eingesetzt

Analytische Funktionen erfolgreich eingesetzt Analytische Funktionen erfolgreich eingesetzt Dani Schnider Trivadis AG Glattbrugg, Schweiz Schlüsselworte: Analytische Funktionen, SQL, Performance Optimierung, Data Warehousing Zusammenfassung Analytische

Mehr

Prakt. Datenbankprogrammierung. Sommersemester I,9: Datenmanipulation. Daten-Manipulations-Sprache. Das INSERT-Statement

Prakt. Datenbankprogrammierung. Sommersemester I,9: Datenmanipulation. Daten-Manipulations-Sprache. Das INSERT-Statement Prakt. Datenbankprogrammierung Sommersemester 2005 I,9: Datenmanipulation Daten-Manipulations-Sprache DML-Statements werden ausgeführt bei: Hinzufügen von Datensätzen Modifizieren von Datensätzen Löschen

Mehr

SQL-Einführung Teil 2

SQL-Einführung Teil 2 SQL-Einführung Teil 2 Prof. Dr. Waldemar Rohde Dipl.-Ing. Jörg Höppner 19.10.2006 1 Datenmanipulationssprache (DML) Select DML ermöglicht es Daten mit SELECT abzurufen UPDATE zu verändern Delete DML Update

Mehr

SQL Intensivpraktikum SS 2008

SQL Intensivpraktikum SS 2008 SQL Intensivpraktikum SS 2008 Aggregation von Daten Arbeit mit Gruppen SQL1 basierend auf OAI-Kurs Copyright Oracle Corporation, 1998. All rights reserved. Gruppenfunktionen Gruppenfunktionen verarbeiten

Mehr

Christine Hansen, Fabrizio Fresco, Patrick Malcherek

Christine Hansen, Fabrizio Fresco, Patrick Malcherek Betrifft: PL/SQL Web-Services und der JDeveloper Teil 4 Autor: Christine Hansen, Fabrizio Fresco, Patrick Malcherek Art der Info: Technische Background Info (Oktober 2002) Quellen: http://otn.oracle.com

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

Urs Meier (urs.meier@trivadis.com) Art der Info Technical Info (Februar 2002) Aus unserer Projekterfahrung und Forschung

Urs Meier (urs.meier@trivadis.com) Art der Info Technical Info (Februar 2002) Aus unserer Projekterfahrung und Forschung Betrifft Optimizer Autor Urs Meier (urs.meier@trivadis.com) Art der Info Technical Info (Februar 2002) Quelle Aus unserer Projekterfahrung und Forschung Einführung Mit jedem Oracle Release nimmt die Anzahl

Mehr

Fortgeschrittene SQL-Techniken für APEX-Formulare und Reports

Fortgeschrittene SQL-Techniken für APEX-Formulare und Reports Fortgeschrittene SQL-Techniken für APEX-Formulare und Reports Andreas Wismann WHEN OTHERS Beratung Projektmanagement Coaching rund um Oracle Application Express rund um Application Express Beratung Projektmanagement

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

Objektorientierte PL/SQL-Programmierung für RDBMS

Objektorientierte PL/SQL-Programmierung für RDBMS Willkommen Objektorientierte PL/SQL-Programmierung für RDBMS Andriy Terletskyy Berenberg Bank Neuer Jungfernstieg 20 20354 Hamburg Berenberg stellt sich vor MDV/EDV- Erfahrung Zeitraum Hardware Datenbank

Mehr

Einstellungen zur Verwendung von Flashback-Abfragen

Einstellungen zur Verwendung von Flashback-Abfragen Thema Autor REISE IN DIE VERGANGENHEIT Kamel Bouzenad (kamel.bouzenad@trivadis.com) Art der Info Infos für Entwickler und DBAs (April 2002) Quelle Oracle-Dokumentation sowie beratende Aktivitäten Überblick

Mehr

Listener: Bei Oracle erfolgt die Steuerung (konventionell) via listener.ora (Listener Konfiguration), tnsnames.ora (Client Konfiguration)

Listener: Bei Oracle erfolgt die Steuerung (konventionell) via listener.ora (Listener Konfiguration), tnsnames.ora (Client Konfiguration) Protokoll 1: Listener: Bei Oracle erfolgt die Steuerung (konventionell) via listener.ora (Listener Konfiguration), tnsnames.ora (Client Konfiguration) Abschnitt 2.1 (Ausführungen zum Shutdown / Startup)

Mehr

PL/SQL. Deklaration von Variablen. Inhalt. PL/SQL Block Struktur. PL/SQL Block Struktur

PL/SQL. Deklaration von Variablen. Inhalt. PL/SQL Block Struktur. PL/SQL Block Struktur PL/SQL Deklaration von Variablen Inhalt Erkennen der PL/SQL Blockstruktur Beschreiben von Variablen in PL/SQL Unterschied zwischen PL/SQL und nicht-pl/sql Variablen Deklaration von PL/SQL Variablen Ausführen

Mehr

WITH or WITHout you - Komfort-SQL in Oracle 12c. Dr.-Ing. Holger Friedrich

WITH or WITHout you - Komfort-SQL in Oracle 12c. Dr.-Ing. Holger Friedrich WITH or WITHout you - Komfort-SQL in Oracle 12c Dr.-Ing. Holger Friedrich Agenda Vorstellung Komfort-SQL WITH-Clause Scalar Sub-Selects Temporal SQL Zusammenfassung!2 sumit AG Bietet Beratungs- & Implementierungs-

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

Oracle 12c: Neuerungen in PL/SQL. Roman Pyro DOAG 2014 Konferenz

Oracle 12c: Neuerungen in PL/SQL. Roman Pyro DOAG 2014 Konferenz Oracle 12c: Neuerungen in PL/SQL Roman Pyro DOAG 2014 Konferenz Herrmann & Lenz Services GmbH Herrmann & Lenz Solutions GmbH Erfolgreich seit 1996 am Markt Firmensitz: Burscheid (bei Leverkusen) Beratung,

Mehr

SQL and PL/SQL unleashed. Neuheiten bei Oracle 11g und Oracle 12c im Bereich SQL und PL/SQL

SQL and PL/SQL unleashed. Neuheiten bei Oracle 11g und Oracle 12c im Bereich SQL und PL/SQL . Neuheiten bei Oracle 11g und Oracle 12c im Bereich SQL und PL/SQL Johannes Gritsch Themenübersicht Neue Scheduler Job Typen SQL_SCRIPT und BACKUP_SCRIPT SQL RowLimit: PERCENT und TIES WITH-Klausel mit

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

Oracle: Abstrakte Datentypen:

Oracle: Abstrakte Datentypen: Oracle: Abstrakte Datentypen: Oracle bietet zwei mögliche Arten um abstrakte Datentypen zu implementieren: Varying Array Nested Table Varying Array (kunde) kdnr kdname gekaufteart 1 Mustermann 1 4 5 8

Mehr

Mengenvergleiche: Alle Konten außer das, mit dem größten Saldo.

Mengenvergleiche: Alle Konten außer das, mit dem größten Saldo. Mengenvergleiche: Mehr Möglichkeiten als der in-operator bietet der θany und der θall-operator, also der Vergleich mit irgendeinem oder jedem Tupel der Unteranfrage. Alle Konten außer das, mit dem größten

Mehr

Einleitung. SPFILE und INIT.ORA. Umgang mit SPFILE und INIT.ORA. Petra Knöbl (petra.knoebel@trivadis.com)

Einleitung. SPFILE und INIT.ORA. Umgang mit SPFILE und INIT.ORA. Petra Knöbl (petra.knoebel@trivadis.com) Betrifft Autor Umgang mit SPFILE und INIT.ORA Petra Knöbl (petra.knoebel@trivadis.com) Art der Info Technische Background Info (März 2002) Quelle Aus dem NF9i-Kurs und NF9i-Techno-Circle der Trivadis Einleitung

Mehr

Komplexe Excel-Berichte mit APEX und jxls erstellen

Komplexe Excel-Berichte mit APEX und jxls erstellen Komplexe Excel-Berichte mit APEX und jxls erstellen Dietmar Aust Opal-Consulting Köln Schlüsselworte: Oracle APEX, MS Excel, jxls, Bericht, Template, Open Source Einleitung In fast jeder Webapplikation

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

SQL Optimizer und SQL Performance

SQL Optimizer und SQL Performance SQL Optimizer und SQL Performance Schlüsselworte SQL, Optimizer, Explain Plan, SQL Trace Marco Mischke Robotron Datenbank Software GmbH Dresden Einleitung Dieser Vortrag beschäftigt sich mit grundlegenden

Mehr

Oracle-Threads unter Win32-Systemen killen

Oracle-Threads unter Win32-Systemen killen Betrifft: Autor: Art der Info: Quelle: Oracle-Threads unter Win32-Systemen killen Dirk Nachbar Technische Background Info Aus unserer Projekterfahrung Einleitung Von Zeit zu Zeit muss ein Oracle DBA eine

Mehr

SQL Intensivpraktikum SS 2008

SQL Intensivpraktikum SS 2008 SQL Intensivpraktikum SS 2008 SQL en Einfache en Eingabe arg 1 arg 2 führt Aktion durch Ergebnis Wert Ausgabe arg n SQL1 basierend auf OAI-Kurs Copyright Oracle Corporation, 1998. All rights reserved.

Mehr

WITH or WITHout you - Komfort-SQL in Oracle 12c Dr.-Ing. Holger Friedrich sumit AG

WITH or WITHout you - Komfort-SQL in Oracle 12c Dr.-Ing. Holger Friedrich sumit AG WITH or WITHout you - Komfort-SQL in Oracle 12c Dr.-Ing. Holger Friedrich sumit AG Schlüsselworte Subquery Factoring, WITH-Clause, Entwicklung, Performance, Optimiser Einleitung Oracle SQL enthält diverse

Mehr

The Underestimated Subquery Factoring Clause

The Underestimated Subquery Factoring Clause The Underestimated Subquery Factoring Clause Philipp Salvisberg Senior Consultant philipp.salvisberg@trivadis.com DOAG Konferenz Mannheim, 16. November 2006 Basel Baden Bern Lausanne Zürich Düsseldorf

Mehr

SQL. Fortgeschrittene Konzepte Auszug

SQL. Fortgeschrittene Konzepte Auszug SQL Fortgeschrittene Konzepte Auszug Levels SQL92 Unterteilung in 3 Levels Entry Level (i.w. SQL89) wird von nahezu allen DBS Herstellern unterstützt Intermediate Level Full Level SQL DML 2-2 SQL92 behebt

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

Objekt-relationales Datenbanksystem Oracle

Objekt-relationales Datenbanksystem Oracle Objekt-relationales Datenbanksystem Oracle 1 Benutzerdefinierte Datentypen 1.1 Unvollständige Typen create-incomplete-type OR 1.2 Kollektionstypen REPLACE TYPE type-name create-varray-type OR TYPE type-name

Mehr

WHERE Klausel Generierung mit.net und Oracle. Aus unserer Projekterfahrung und Architektur-Kurs

WHERE Klausel Generierung mit.net und Oracle. Aus unserer Projekterfahrung und Architektur-Kurs Betrifft Art der Info Quelle WHERE Klausel Generierung mit.net und Oracle Technical Info Aus unserer Projekterfahrung und Architektur-Kurs Where ist the WHERE? Der Artikel untersucht die Möglichkeiten,

Mehr

Dirk Nachbar (dirk.nachbar@trivadis.com)

Dirk Nachbar (dirk.nachbar@trivadis.com) Betrifft: Autor: Art der Info: Quelle: XSQL Servlet und FOP Dirk Nachbar (dirk.nachbar@trivadis.com) Technische Background Info Aus unserer Projekt- und Schulungserfahrung http://xml.apache.org/fop, http://www.xml.com,

Mehr

Oracle12c für Entwickler

Oracle12c für Entwickler Oracle12c für Entwickler Carsten.Czarski@oracle.com http://tinyurl.com/apexcommunity http://sql-plsql-de.blogspot.com http://oracle-text-de.blogspot.com http://plsqlexecoscomm.sourceforge.net http://plsqlmailclient.sourceforge.net

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

Physischer DB-Entwurf

Physischer DB-Entwurf Physischer DB-Entwurf Prof. Dr. T. Kudraß 1 Überblick Ausgangslage: Konzeptuelles und externes Schema sind erstellt: ER Modell, Schemaverfeinerung und Definition von Sichten Nächster Schritt: Physischer

Mehr

Folgendes PL/SQL Codefragment zeigt das grundlegende Statement für diesen Test: Java. http://www.trivadis.com/images/javaperf_tcm16-7133.

Folgendes PL/SQL Codefragment zeigt das grundlegende Statement für diesen Test: Java. http://www.trivadis.com/images/javaperf_tcm16-7133. Page 1 of 7 Betrifft: Java oder PL/SQL? Art der Info: Technische Background Info Autor: Guido Schmutz (guido.schmutz@trivadis.com) Quelle: Aus unserer Schulungs- und Beratungstätigkeit Mit Oracle8.1 besteht

Mehr

XML-Schnittstellen zum Import und Export von Daten für eine Oracle DB Ein Erfahrungsbericht DOAG 2006

XML-Schnittstellen zum Import und Export von Daten für eine Oracle DB Ein Erfahrungsbericht DOAG 2006 XML-Schnittstellen zum Import und Export von Daten für eine Oracle DB Ein Erfahrungsbericht DOAG 2006 Dr. Wolfgang Braunisch Opitz Consulting GmbH Seite 1 Gliederung Anforderungsszenario Lösungsalternativen

Mehr

Funktion definieren Gibt Summe der Gehälter zurück. Aufruf in einem SQL-Statement

Funktion definieren Gibt Summe der Gehälter zurück. Aufruf in einem SQL-Statement Funktion definieren Gibt Summe der Gehälter zurück Aufruf in einem SQL-Statement Dr. Christian Senger Einführung PL/SQL 1 Procedures & Transaktionen CREATE OR REPLACE PROCEDURE write_log ( log_code IN

Mehr

Einführung in SQL. 1. Grundlagen SQL. Structured Query Language. Viele Dialekte. Unterteilung: i. DDL (Data Definition Language)

Einführung in SQL. 1. Grundlagen SQL. Structured Query Language. Viele Dialekte. Unterteilung: i. DDL (Data Definition Language) Einführung in SQL 1. Grundlagen Structured Query Language Viele Dialekte Unterteilung: i. DDL (Data Definition Language) ii. iii. DML (Data Modifing Language) DRL (Data Retrival Language) 1/12 2. DDL Data

Mehr

MySQL Queries on "Nmap Results"

MySQL Queries on Nmap Results MySQL Queries on "Nmap Results" SQL Abfragen auf Nmap Ergebnisse Ivan Bütler 31. August 2009 Wer den Portscanner "NMAP" häufig benutzt weiss, dass die Auswertung von grossen Scans mit vielen C- oder sogar

Mehr

Username and password privileges. Rechteverwaltung. Controlling User Access. Arten von Rechten Vergabe und Entzug von Rechten DBS1 2004

Username and password privileges. Rechteverwaltung. Controlling User Access. Arten von Rechten Vergabe und Entzug von Rechten DBS1 2004 Arten von Rechten Vergabe und Entzug von Rechten Seite 1 Controlling User Access Database administrator Username and password privileges Users Seite 2 Privileges Database security System security Data

Mehr

Enrico Genauck 37327 IN04

Enrico Genauck 37327 IN04 ANFRAGEOPTIMIERUNG IN ORACLE Enrico Genauck 37327 IN04 An!ageoptimierung in Oracle 1 ANFRAGEOPTIMIERUNG IN ORACLE Enrico Genauck 37323 IN04 Einleitung Die Optimierung einer Anfrage an eine relationale

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

Informatik 12 Datenbanken SQL-Einführung

Informatik 12 Datenbanken SQL-Einführung Informatik 12 Datenbanken SQL-Einführung Gierhardt Vorbemerkungen Bisher haben wir Datenbanken nur über einzelne Tabellen kennen gelernt. Stehen mehrere Tabellen in gewissen Beziehungen zur Beschreibung

Mehr

Projektbericht Gruppe 12. Datenbanksysteme WS 05/ 06. Gruppe 12. Martin Tintel Tatjana Triebl. Seite 1 von 11

Projektbericht Gruppe 12. Datenbanksysteme WS 05/ 06. Gruppe 12. Martin Tintel Tatjana Triebl. Seite 1 von 11 Datenbanksysteme WS 05/ 06 Gruppe 12 Martin Tintel Tatjana Triebl Seite 1 von 11 Inhaltsverzeichnis Inhaltsverzeichnis... 2 1. Einleitung... 3 2. Datenbanken... 4 2.1. Oracle... 4 2.2. MySQL... 5 2.3 MS

Mehr

Trigger schreiben. Überblick über Trigger. Datenbank Trigger: Beispiel. Aufbau eines Triggers

Trigger schreiben. Überblick über Trigger. Datenbank Trigger: Beispiel. Aufbau eines Triggers Überblick über Trigger Trigger schreiben Ein Trigger ist ein PL/SQL Block, der implizit aufgerufen wird, wenn ein bestimmtes Ereignis eintritt. Ein Trigger kann ein Datenbanktrigger oder ein Anwendungstrigger

Mehr

Übungsaufgaben mit Lösungen

Übungsaufgaben mit Lösungen Abt. Wi.-Inf. II Wirtschaftsinformatik II: SQL 1 Übungsaufgaben mit Lösungen 1) Ausgabe sämtlicher Spalten der Tabelle DEPARTMENT. SELECT * FROM DEPARTMENT 2) Ausgabe aller Projektnummern und Projektnamen.

Mehr

Hochschule Karlsruhe Technik und Wirtschaft- 10.7.2013. Anhänge: Fakultät für Informatik und Wirtschaftsinformatik SS 2013 Prof. Schmidt.

Hochschule Karlsruhe Technik und Wirtschaft- 10.7.2013. Anhänge: Fakultät für Informatik und Wirtschaftsinformatik SS 2013 Prof. Schmidt. Fakultät für Informatik und Wirtschaftsinformatik SS 2013 Datenbanken und Informationssysteme II Szenario: Projektverwaltung. Es gibt Projekte, Projektleiter, Mitarbeiter und ihre Zuordnung zu Projekten.

Mehr

DATENBANKEN SQL UND SQLITE VON MELANIE SCHLIEBENER

DATENBANKEN SQL UND SQLITE VON MELANIE SCHLIEBENER DATENBANKEN SQL UND SQLITE VON MELANIE SCHLIEBENER INHALTSVERZEICHNIS 1. Datenbanken 2. SQL 1.1 Sinn und Zweck 1.2 Definition 1.3 Modelle 1.4 Relationales Datenbankmodell 2.1 Definition 2.2 Befehle 3.

Mehr

Programmierung von Datenbank Anwendungen. ESQL, ODBC, JDBC und co

Programmierung von Datenbank Anwendungen. ESQL, ODBC, JDBC und co Programmierung von Datenbank Anwendungen ESQL, ODBC, JDBC und co Methoden bisher interaktive Verwendung von SQL Terminal Skripte Ausführen von SQL aus Programmiersprache heraus proprietäre APIs standardisierte

Mehr

Eine völlig andere Form Abfragen zu erstellen ist, sie mit Hilfe der Datenbankabfragesprache SQL zu gestalten.

Eine völlig andere Form Abfragen zu erstellen ist, sie mit Hilfe der Datenbankabfragesprache SQL zu gestalten. Einführung SQL 2010 Niko Becker Mit unseren Übungen zu ACCESS können Sie Aufbau und Struktur einer relationalen Datenbank kennenlernen. Wir zeigen Ihnen wie Sie Tabellen, Formulare und Berichte erstellen

Mehr

3.17 Zugriffskontrolle

3.17 Zugriffskontrolle 3. Der SQL-Standard 3.17. Zugriffskontrolle Seite 1 3.17 Zugriffskontrolle Datenbanken enthalten häufig vertrauliche Informationen, die nicht jedem Anwender zur Verfügung stehen dürfen. Außerdem wird man

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

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

die wichtigsten Caches (SGA) sind on-the-fly änderbar.

die wichtigsten Caches (SGA) sind on-the-fly änderbar. Betrifft Autor Umgang und Verwaltung von Oracle Memory Reno Glass (Reinhold.Glass@trivadis.com) Art der Info Technische Background Info (April 2002) Quelle Aus dem NF9i -Kurs und NF9i-Techno-Circle der

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

UEB. Übungen zum Seminar 4053

UEB. Übungen zum Seminar 4053 Übungen zum Seminar 4053 1.1 Aufgaben zu Kapitel 1... 2 1.2 Aufgaben zu Kapitel 2... 3 1.3 Aufgaben zu Kapitel 3... 6 1.4 Aufgaben zu Kapitel 4... 8 1.5 Aufgaben zu Kapitel 5... 9 1.6 Aufgaben zu Kapitel

Mehr

Dokumentation zur Anlage eines JDBC Senders

Dokumentation zur Anlage eines JDBC Senders Dokumentation zur Anlage eines JDBC Senders Mithilfe des JDBC Senders ist es möglich auf eine Datenbank zuzugreifen und mit reiner Query Datensätze auszulesen. Diese können anschließend beispielsweise

Mehr

Welche Kunden haben die gleiche Ware bestellt? select distinct a1.name, a2.name from Auftrag a1, Auftrag a2 where a1.ware = a2.ware.

Welche Kunden haben die gleiche Ware bestellt? select distinct a1.name, a2.name from Auftrag a1, Auftrag a2 where a1.ware = a2.ware. *HVFKDFKWHOWH$QIUDJHQ In einer SQL-Anweisung können in der where-klausel, from-klausel, select-klausel wieder SQL-Anweisungen auftreten. Man spricht dann auch von einer geschachtelten Anfrage oder Unteranfrage.

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

Datenschutz: Zugriffsrechte in SQL

Datenschutz: Zugriffsrechte in SQL 12. Datenschutz: Zugriffsrechte in SQL 12-1 12. Datenschutz: Zugriffsrechte in SQL 12-2 Inhalt Datenschutz: Zugriffsrechte in SQL 1. Anforderungen, Allgemeines 2. Die SQL-Befehle GRANT und REVOKE 3. Sichten

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

Model Klausel - Der Excel-Killer von Oracle?

Model Klausel - Der Excel-Killer von Oracle? Model Klausel - Der Excel-Killer von Oracle? Andrea Kennel Trivadis AG Glattbrugg, Schweiz Schlüsselworte: Model Klausel, SQL, Data Warehousing, OLAP Zusammenfassung Ein Data Mart kann als ein Würfel mit

Mehr

Verwendung und Einsatzmöglichkeiten des Flashback-Query

Verwendung und Einsatzmöglichkeiten des Flashback-Query DOAG-Präsentation Nov. 2002 Verwendung und Einsatzmöglichkeiten des Flashback-Query 1 Facts & Figures Über 300 Mitarbeiter Über 340 Kunden (ohne Schulung) Über 1000 Projekte 100 Service Level Agreements

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

Einführung in SQL. Sprachumfang: Indizes. Datensätzen. Zugriffsrechten

Einführung in SQL. Sprachumfang: Indizes. Datensätzen. Zugriffsrechten Einführung in SQL Die Sprache SQL (Structured Query Language) ist eine Programmiersprache für relationale Datenbanksysteme, die auf dem ANSI-SQL-Standard beruht. SQL wird heute von fast jedem Datenbanksystem

Mehr

PostgreSQL unter Debian Linux

PostgreSQL unter Debian Linux Einführung für PostgreSQL 7.4 unter Debian Linux (Stand 30.04.2008) von Moczon T. und Schönfeld A. Inhalt 1. Installation... 2 2. Anmelden als Benutzer postgres... 2 2.1 Anlegen eines neuen Benutzers...

Mehr

<Insert Picture Here> Datenschätze heben: Data Mining Carsten Czarski Leitender Systemberater Business Unit Database ORACLE Deutschland GmbH

<Insert Picture Here> Datenschätze heben: Data Mining Carsten Czarski Leitender Systemberater Business Unit Database ORACLE Deutschland GmbH Datenschätze heben: Data Mining Carsten Czarski Leitender Systemberater Business Unit Database ORACLE Deutschland GmbH Agenda Data Mining... erste Schritte... Der Data Mining-Ansatz

Mehr

DATENBANKEN I. Einführung in Datenbanken Semester: IV. Semester 4. Mitgeschrieben von: Isabel Drost, If99w1

DATENBANKEN I. Einführung in Datenbanken Semester: IV. Semester 4. Mitgeschrieben von: Isabel Drost, If99w1 DATENBANKEN I Semester 4 Mitgeschrieben von: Isabel Drost, If99w1 Mitschrift von: Drost, Isabel/ if99wp1 Seite 1 von 23 Inhaltsverzeichnis: ZIELE: 4 Mittel(SE): 4 Aufgaben: 4 SQL formale Sprache 4 Oracle

Mehr

Application Express Mehrsprachigkeit & Mandantenfähigkeit. Copyright 2014. Apps Associates LLC. 1

Application Express Mehrsprachigkeit & Mandantenfähigkeit. Copyright 2014. Apps Associates LLC. 1 Application Express Mehrsprachigkeit & Mandantenfähigkeit Copyright 2014. Apps Associates LLC. 1 Agenda Einleitung Mehrsprachigkeit Übersetzung mit Hilfe von XLIFF-files Übersetzung mit Hilfe einer Übersetzungstabelle

Mehr

Verbunde (Joins) und mengentheoretische Operationen in SQL

Verbunde (Joins) und mengentheoretische Operationen in SQL Verbunde (Joins) und mengentheoretische Operationen in SQL Ein Verbund (Join) verbindet zwei Tabellen Typischerweise wird die Verbindung durch Attribute hergestellt, die in beiden Tabellen existieren Mengentheoretische

Mehr

SQL Einstieg und Anwendung

SQL Einstieg und Anwendung Wolfgang D. Misgeld 2008 AGI-Information Management Consultants May be used for personal purporses only or by libraries associated to dandelon.com network. SQL Einstieg und Anwendung Mit SQL-3, IBM DB2,

Mehr

Verbunde (Joins) und mengentheoretische Operationen in SQL

Verbunde (Joins) und mengentheoretische Operationen in SQL Verbunde (Joins) und mengentheoretische Operationen in SQL Ein Verbund (Join) verbindet zwei Tabellen Typischerweise wird die Verbindung durch Attribute hergestellt, die in beiden Tabellen existieren Mengentheoretische

Mehr

SQL Teil 2. SELECT Projektion Selektion Vereinigung, Schnitt, Differenz Verbund Komplexer SELECT-Ausdruck

SQL Teil 2. SELECT Projektion Selektion Vereinigung, Schnitt, Differenz Verbund Komplexer SELECT-Ausdruck SELECT Projektion Selektion Vereinigung, Schnitt, Differenz Verbund Fahren fort mit SQL Befehlen. Bilden Relationenalgebra auf SQL ab. So Umsetzung von Anfragen an die DB (bzw. Tabellen) möglich. SELECT

Mehr

SQL structured query language

SQL structured query language Umfangreiche Datenmengen werden üblicherweise in relationalen Datenbank-Systemen (RDBMS) gespeichert Logische Struktur der Datenbank wird mittels Entity/Realtionship-Diagrammen dargestellt structured query

Mehr

Multi-temporale Datenbank Features in Oracle 12c Philipp Salvisberg

Multi-temporale Datenbank Features in Oracle 12c Philipp Salvisberg Multi-temporale Datenbank Features in Oracle 12c Philipp Salvisberg Senior Principal Consultant November 2013 Oracle 12c hat ein neues Feature namens "Temporal Validity". Mit Temporal Validity können eine

Mehr