Benutzer-Werkzeuge

Webseiten-Werkzeuge


prog:sql_oracle_model_clause

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen RevisionVorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
prog:sql_oracle_model_clause [2015/11/21 21:48] – [Die SQL Model Clause in der Oracle Datenbank verwenden] gpipperrprog:sql_oracle_model_clause [2015/11/22 16:04] (aktuell) – [Die SQL Model Clause in der Oracle Datenbank verwenden] gpipperr
Zeile 1: Zeile 1:
 +=====Die SQL Model Clause in der Oracle Datenbank verwenden=====
  
 +{{ :images:malcesine_gardasee.sql.png?direct|Malcesine am Gardasee - zu schön für SQL .-) }}
 +
 +Mit der Model Clause können erweiterte Analysen und Funktionen auf der Ergebnis Menge einer SQL Abfrage durchgeführt werden.
 +
 +
 +Übersicht Syntax:
 +
 +**SQL Abfrage** \\
 +<fc #008080>**MODEL**</fc> \\
 +<fc #ff0000>**PARTITION BY ()**  \\
 +**DIMENSION BY ()** \\
 +**MEASURES()** \\
 +**RULES()** \\
 +</fc>
 +
 +Ein erstes Beispiel für eine SQL Abfrage für eine dynamischen Kalender für den gerade aktuellen Tag:
 +<code sql>
 +column key     heading "Stunde"
 +column row_val heading "Datum und Stunde"
 +
 +select * from (select  dummy as key, dummy as row_val from dual)
 +MODEL
 + DIMENSION BY (0 as key)
 + MEASURES( cast( null as date ) as row_val )
 + RULES ITERATE (24)
 +    ( row_val[ITERATION_NUMBER] = trunc(sysdate)+(1/24*ITERATION_NUMBER) )
 +/
 +
 +</code>
 +Die obige SQL Abfrage mit DUAL dient nur dazu im ersten Schritt nur eine Zeile zu erzeugen, diese wird aber erst gar nicht ausgewertet. Mit der **RULES ITERATE (24)** Angabe wird eine Liste mit 24 Zeilen erzeugt. 
 +
 +Mit dieser Technik läßt sich dann eine komplexe dynamische universelle Zeit Dimension erstellen.
 +
 +
 +Demnächst mehr ...
 +
 +
 +
 +----
 +
 +
 +====Quellen====
 +
 +Oracle 10g:
 +  * http://docs.oracle.com/cd/B19306_01/server.102/b14223/sqlmodel.htm
 +
 +Oracle 12c:
 +  * https://docs.oracle.com/database/121/DWHSG/sqlmodel.htm
 +
 +Allgemein:
 +  * http://www.oracle.com/technetwork/database/bi-datawarehousing/wp-in-database-analytics-12c-2132656.pdf
 +
 +Web:
 +  * https://apex.oracle.com/pls/apex/germancommunities/apexcommunity/tipp/4461/index.html
prog/sql_oracle_model_clause.txt · Zuletzt geändert: 2015/11/22 16:04 von gpipperr