Oracle PL/SQL/System Tables Views/USER TAB COLUMNS
Query the USER_TAB_COLUMNS view to get all columns for a table that you own
<source lang="sql">
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>
</source>