Wednesday, April 27, 2011

Getting the Columns Information with a Single Query? Easy

Easy to do:
Select cols.column_id, cols.column_name as Name, nullable,
 data_type as Type,
 decode(data_type, 'CHAR', char_length,
                   'VARCHAR', char_length,
                   'VARCHAR2', char_length,
                   'NCHAR', char_length,
                   'NVARCHAR', char_length,
                   'NVARCHAR2', char_length,
                   null) nchar_length,
  Decode( data_type, 'NUMBER', data_precision + data_scale, data_length ) Length,
  data_precision Precision, data_scale Scale, data_length dlength, data_default 
  ,' ' comments
  ,DATA_TYPE_MOD
  ,cols.CHAR_USED
  ,InitCap(histogram) histogram
  ,num_distinct
FROM
  sys.DBA_TAB_COLUMNS cols
where
 cols.table_name='ALERT_QT'
ORDER BY COLUMN_ID asc
Results:
Output example

COLUMN_ID
1
NAME
Q_NAME
NULLABLE
Y
TYPE
VARCHAR2
NCHAR_LENGTH
30
LENGTH
30
PRECISION

SCALE

DLENGTH
30
DATA_DEFAULT

COMMENTS

DATA_TYPE_MOD

CHAR_USED
B
HISTOGRAM
None
NUM_DISTINCT



No comments:

Post a Comment