Kategorie: Oracle
Nach Filter in ODI Repo suchen mit Ausgabe Mapping und Ordnerstruktur (CONNECT BY LEVEL)
Komplette Tabellendefintion auslesen
Für Output in der DBMS-Ausgabe erzeugt der folgende Code die komplette Tabellendefinition inkl. Indizes, Kommentare und Grants: DECLAREddl CLOB;comments CLOB;grants CLOB;v_owner VARCHAR2(100) := ‚OWNER_HIER_EINSETZEN‘;v_table VARCHAR2(100) := ‚TABELLE_HIER_EINSETZEN‘;BEGINSELECT DBMS_METADATA.GET_DDL(‚TABLE‘, t.table_name, t.owner)INTO ddlFROM all_tables tWHERE owner = …
Weiterlesen »Ausdruck evaluieren in PL/SQL
erzeugen von Create Table Statements
Mit DBMS_METADATA.GET_DDL kann man auf Grundlage von existierenden Tabellen Create Table Statements erzeugen. Z.B.: SELECT DBMS_METADATA.GET_DDL(object_type=>’TABLE‘, schema=>t.owner, name=>t.table_name, ) AS ctas FROM dba_tables t ;
Weiterlesen »ora-06502 bulk bind truncated bind
Eine Abfrage Kombination mit CASE, basierend auf einer listagg-Funktion hat in einer PL/SQL Funktion zum ORA-06502 geführt. Und das obwohl der gleiche Code in reinem SQL problemlos funktionierte. select case when anz_le = 0 then …
Weiterlesen »Parameterübergabe für execute immediate Variable
Man kann einem execute immediate -Statment noch Parameter mitgeben. Damit spart man sich u.U. die Maskierung der Hochkommas. Z.B.: v_sql := ‚insert into r3_tid_management ( destination ,trans_id ,status ) values ( :1, :2, :3 )‘; …
Weiterlesen »Komma-Separated list für IN-Klausel
Auf https://blogs.oracle.com/aramamoo/how-to-split-comma-separated-string-and-pass-to-in-clause-of-select-statement wird erklärt, wie man in einer WHERE … IN Klausel eine String-Variable nutzen kann. Ein noch besseres Beispiel funktioniert so: with test as (select ‚KART,KART-SPG,PAL‘ col from dual) select regexp_substr(col, ‚[^,]+‘, 1, level) …
Weiterlesen »Anzeigen der Kardinalität in Toad
Die Cardinality lässt sich in Toad anzeigen, indem man den optimizer hint /*+choose */ Verwendet. Dies ist erforderlich, wenn der Cost Based Optimizer nicht verwendet wird: https://docs.oracle.com/cd/B10500_01/server.920/a96533/hintsref.htm#11753
Weiterlesen »Suche nach Daten mit unterschiedlichen Attributen für einen gemeinsamen Oberbegriff
Um aus einer Tabelle mit Auftragspositionen diejenigen zu finden, die bei gleicher Auftragsnummer einen unterschiedlichen Status auf Positionslevel haben, verwendet man eine analytische Funktion wie folgt: SELECT * FROM ( SELECT COUNT (DISTINCT status) OVER …
Weiterlesen »