Oracle PL/SQL/System Tables Views/all tab columns

Материал из SQL эксперт
Перейти к: навигация, поиск

ALL_TAB_COLUMNS view contains information about the columns in all tables accessible

  
SQL> select column_name, data_type from all_tab_columns
  2  where table_name = "COUNTRIES";
COLUMN_NAME
------------------------------
DATA_TYPE
--------------------------------------------------------------------------------
COUNTRY_ID
CHAR
COUNTRY_NAME
VARCHAR2
REGION_ID
NUMBER

SQL>



Query all_tab_columns table and decode the data_type, data_precision, nullable columns

  
SQL>
SQL>
SQL> set verify off
SQL> set linesize 72
SQL> set pagesize 9999
SQL> set feedback on
SQL>
SQL> Prompt Datatypes for Table &1
Enter value for 1:
Datatypes for Table
SQL> column data_type format a20
SQL> column column_name heading "Column Name"
SQL> column data_type   heading "Data|Type"
SQL> column data_length heading "Data|Length"
SQL> column nullable    heading "Nullable"
SQL>
SQL> select column_name,
  2         data_type,
  3         substr(
  4         decode( data_type, "NUMBER",
  5                 decode( data_precision, NULL, NULL,
  6                  "("||data_precision||","||data_scale||")" ),
  7                                     data_length),
  8                1,11) data_length,
  9         decode( nullable, "Y", "null", "not null" ) nullable
 10  from all_tab_columns
 11  where owner = USER and table_name = upper("&1")
 12  order by column_id
 13  /
Enter value for 1:
no rows selected
SQL> --