Oracle
 sql >> Base de Dados >  >> RDS >> Oracle

Oracle - comparando o valor padrão de uma coluna


Você pode tentar com a seguinte consulta também -
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')
;

aqui está algum problema com a consulta acima que você precisa gastar mais tempo para obter o resultado, mas obterá o resultado correto conforme o esperado.