Benutzer-Werkzeuge

Webseiten-Werkzeuge


prog:sql_oracle_model_clause

Die SQL Model Clause in der Oracle Datenbank verwenden

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
MODEL
PARTITION BY ()
DIMENSION BY ()
MEASURES()
RULES()

Ein erstes Beispiel für eine SQL Abfrage für eine dynamischen Kalender für den gerade aktuellen Tag:

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) )
/

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

Diese Website verwendet Cookies. Durch die Nutzung der Website stimmen Sie dem Speichern von Cookies auf Ihrem Computer zu. Außerdem bestätigen Sie, dass Sie unsere Datenschutzbestimmungen gelesen und verstanden haben. Wenn Sie nicht einverstanden sind, verlassen Sie die Website.Weitere Information
"Autor: Gunther Pipperr"
prog/sql_oracle_model_clause.txt · Zuletzt geändert: 2015/11/22 16:04 von gpipperr