Home » Beitrag verschlagwortet mit 'Oracle'
Schlagwort-Archive: Oracle
Logging von Hibernate SQL
Allgemeines Logging:
org.hibernate.SQL=DEBUG
Um die Parameter-Einfügungen in die Query zu loggen:
org.hibernate.type.descriptor.sql.BasicBinder=DEBUG
PL/SQL Problem ‚PLS-00103: Encountered the symbol‘ bei DDL statements
Problem:
DDL-Statements können ’nackt‘ nicht im PL/SQL ausgeführt werden.
Lösung:
DDL-Statements in execute immediate ‚….‘ einpacken.
–> http://www.dba-oracle.com/t_using_ddl_create_index_table_plsql.htm
Oracle SQL Explain – Query Performace
Links:
- Interpreting Explain Plan – Grundbegriffe
- How to Read an Execution Plan
- Explaining and Displaying Execution Plans
- Einführung in Materialized Views
- Refreshing Materialized Views
- Advanced Materialized Views
- CREATE MATERIALIZED VIEW LOG <– Braucht es anscheinend um eine Mat View per Partition up-zu-daten
Oracle SQL – Know how
Concatenate the different row values of the same group into on row per group.
LISTAGG Function, see: Sql PIVOT and string concatenation aggregate
SQL Pivot
Referenzen
Oracle PIVOT – Introduction to Oracle PIVOT
clause
SQL Pivot: Converting Rows to Columns
Sql PIVOT and string concatenation aggregate (Schwierig :-))
Kurz-Erklärung
SQL Pivot kann benutzt werden um Gruppierungen innerhalb eines Resultat-Sets zu machen und pro Gruppe zusätzliche Kolonnen zu extrahieren.
Hätten wir z.B. ein statement:
SELECT MONAT, REGENMENGE FROM REPORT;
Monat | Regenmenge | |
---|---|---|
1 | 100 | |
2 | 212 | |
3 | 322 | |
… | … | |
Wenn man daraus dieseses Format erstellen möchte:
Januar | Februar | März | April | … | ||
100 | 212 | 322 |
… würde man dies mit folgendem Pivot-Statement erreichen:
SELECT MONAT, REGENMENGE FROM REPORT
PIVOT max(REGENMENGE) -- Aggregatsfunktion fuer mehrere werte fuer denselben Monat
FOR MONAT
IN ( '1' as JANUAR, '2' as FEBRUAR, '3' as MÄRZ, '4' as APRIL, ...)