Oracle
 sql >> Datenbank >  >> RDS >> Oracle

Oracle - Vergleich des Standardwerts einer Spalte

Sie können es auch mit der folgenden Abfrage versuchen -

WITH xml AS (
         SELECT XMLTYPE(
                    DBMS_XMLGEN.GETXML('SELECT table_name, column_name ,DATA_DEFAULT FROM user_tab_cols')
                    ) AS xml
          FROM   dual
          )
SELECT * FROM ( 
 SELECT extractValue(xs.object_value, '/ROW/TABLE_NAME')       AS table_name
  ,      extractValue(xs.object_value, '/ROW/COLUMN_NAME')      AS column_name
  ,      extractValue(xs.object_value, '/ROW/DATA_DEFAULT')  AS DATA_DEFAULT
  FROM   xml x
  ,      TABLE(XMLSEQUENCE(EXTRACT(x.xml, '/ROWSET/ROW'))) xs
  ) WHERE (DATA_DEFAULT IS NULL OR UPPER(DATA_DEFAULT) = 'NULL')
;

Hier ist ein Problem mit der obigen Abfrage, dass Sie mehr Zeit aufwenden müssen, um das Ergebnis zu erhalten, aber Sie erhalten das richtige Ergebnis wie erwartet.