Oracle: check the structure of a table

Oracle: check the structure of a table named test_table,  just using the follwoing command:

 

describe test_table;

 

the output has 3 columns:

 

the first column displays the column name of table dual;

 

the second column displays whether this column can be null;

 

the third column displays the Data Type of the column. 

 

E.g:

 

Check the structure of dual table:

 

describe dual;

 

The output is:

 

describe dual
Name  Null Type       
----- ---- -----------
DUMMY      VARCHAR2(1)  

 

This indicate that dual table has only one column named DUMMY, it can be null, and the type of column DUMMY is VARCHAR2(1).

 

 

/*----------------------------------------------------------------------------- * Function : to extract the structure of a table * * Author : Richard Wang * * Date : 2011-08-30 * * Version : 0.1 * ------------------------------------------------------------------------------*/ select 'Table_Name' table_name --,'Column_ID' column_id ,0 column_id ,'Column_Name' column_name ,'Data_Type' data_Type ,'PK_Column' PK_Column ,'Nullable' nullable from DUAL union all select distinct lower(all_c.table_name) table_name --,(case -- when column_id < 10 then '0' || to_char(column_id) -- when column_id 100 then 'H' || substrb(to_char(column_id),2,1) -- else '**' -- end ) column_id ,all_c.column_id column_id ,lower(all_c.column_name) column_name ,lower((case all_c.data_type when 'NUMBER' then all_c.data_type || decode(all_c.data_precision,0,'',NULL,'','(' || to_char(all_c.data_precision)) || decode(all_c.data_precision,0,'',NULL,'', decode(all_c.data_scale,0,'',NULL,'', ',' || to_char(all_c.data_scale)) || ')') when 'CHAR' then all_c.data_type || '(' || to_char(all_c.char_length) || ')' when 'VARCHAR2' then all_c.data_type || '(' || to_char(all_c.char_length) || ')' else all_c.data_type end)) data_type ,decode(tab_pk.pk_col_name,NULL,'',tab_pk.pk_col_name,'Y','N/A') PK_column ,all_c.nullable nullable from all_tab_columns all_c left outer join (select cu.table_name pk_tab_name ,cu.column_name pk_col_name from user_cons_columns cu, user_constraints au where cu.constraint_name = au.constraint_name and au.constraint_type = 'P') tab_pk on all_c.table_name = tab_pk.pk_tab_name and all_c.column_name = tab_pk.pk_col_name where owner not like '%SYS%' and table_name = upper('V_CHL_PORTFOLIO') -- upper case-- order by table_name,column_id,column_name select * from all_tab_columns where table_name = 'CIS_INF_PARM_VALUE' select distinct table_name from all_tab_columns where owner not like '%SYS%' and table_name like '%DELIV%' -- upper case-- order by table_name
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值