Oracle PL/SQL/System Tables Views/USER TAB COLUMNS

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

Query the USER_TAB_COLUMNS view to get all columns for a table that you own

SQL> -- create demo table
SQL> create table TestTable(
  2    ID                 VARCHAR2(4 BYTE)         NOT NULL,
  3    MyName             VARCHAR2(10 BYTE),
  4    MyDate             DATE,
  5    MyNumber           Number(8,2)
  6  )
  7  /
Table created.
SQL>
SQL>
SQL> insert into TestTable (ID, MyName, MyDate, MyNumber) values("1","Alison",to_date("19960711","YYYYMMDD"),12.12);
1 row created.
SQL> insert into TestTable (ID, MyName, MyDate, MyNumber) values("1","Alison",to_date("19970622","YYYYMMDD"),-12.12);
1 row created.
SQL> insert into TestTable (ID, MyName, MyDate, MyNumber) values("1","Alison",to_date("19980513","YYYYMMDD"),22.1);
1 row created.
SQL> insert into TestTable (ID, MyName, MyDate, MyNumber) values("1","Alison",to_date("19990624","YYYYMMDD"),-2.12);
1 row created.
SQL> insert into TestTable (ID, MyName, MyDate, MyNumber) values("1","Alison",to_date("20000415","YYYYMMDD"),2.1);
1 row created.
SQL>
SQL>
SQL> select * from TestTable;
ID   MYNAME     MYDATE      MYNUMBER
---- ---------- --------- ----------
1    Alison     11-JUL-96      12.12
1    Alison     22-JUN-97     -12.12
1    Alison     13-MAY-98       22.1
1    Alison     24-JUN-99      -2.12
1    Alison     15-APR-00        2.1
SQL>
SQL> -- Query the USER_TAB_COLUMNS view to get all columns for a table that you own,
SQL>
SQL> commit;
Commit complete.
SQL>
SQL>
SQL> SELECT table_name, column_name, data_type, data_length
  2  FROM USER_TAB_COLUMNS
  3  WHERE table_name = "TESTTABLE"
  4  ORDER BY column_id;
TABLE_NAME                     COLUMN_NAME                    DATA_TYPE                                                                                          DATA_LENGTH
------------------------------ ------------------------------ ---------------------------------------------------------------------------------------------------------- -----------
TESTTABLE                      ID                             VARCHAR2                                                                                                     4
TESTTABLE                      MYNAME                         VARCHAR2                                                                                                    10
TESTTABLE                      MYDATE                         DATE                                                                                                         7
TESTTABLE                      MYNUMBER                       NUMBER                                                                                                      22
SQL>
SQL>
SQL> drop table TestTable;
Table dropped.
SQL>
SQL> commit;
Commit complete.
SQL>
SQL>