我是新来的,所以我有可能是愚蠢的问题。 我需要检索INDEX_NAME | INDEX_CREATED | INDEXED_TABLE_NAME | INDEXED_COLUMN_NAME | COLUMN_NULLABLE使用来自数据字典的架构中的视图。它表示应该小心,因为多列索引列不会使查询结果加倍。有人可以帮我,也许写一些代码的例子吗? TNX如何从oracle数据字典中检索数据?
-1
A
回答
0
试试这个:
select ic.table_name, ic.index_name,oc.last_ddl_time, ic.column_name, tc.DATA_TYPE, tc.DATA_LENGTH, tc.DATA_PRECISION,tc.DATA_SCALE, tc.NULLABLE
from user_ind_columns ic, user_tab_columns tc , user_objects oc
where 1=1
and ic.table_name = tc.TABLE_NAME
and ic.column_name = tc.COLUMN_NAME
and oc.object_name = ic.index_name
and oc.object_type = 'INDEX'
order by ic.table_name, ic.index_name, ic.column_position;
嗨, IC,TC,OC是index_columns,table_columns和USER_OBJECTS别名。 如果您需要YES/NO,然后用解码:
select ic.table_name, ic.index_name,uo.last_ddl_time, ic.column_name, tc.DATA_TYPE, tc.DATA_LENGTH, tc.DATA_PRECISION,tc.DATA_SCALE, decode(tc.NULLABLE, 'Y', 'YES', 'N', 'NO')
from user_ind_columns ic, user_tab_columns tc , user_objects uo
where 1=1
and ic.table_name = tc.TABLE_NAME
and ic.column_name = tc.COLUMN_NAME
and uo.object_name = ic.index_name
and uo.object_type = 'INDEX'
order by ic.table_name, ic.index_name, ic.column_position;
问候rimetnac
+0
这是什么意思集成电路。 ,tc。 ,oc。????? ALL_TAB_COLUMNS.NULLABLE包含数据Y/N,我需要打印如YES/NO? – 2014-12-09 12:34:23
'它说...'>什么说? – 2014-12-09 12:09:47
我的意思是,我需要照顾多列索引列不加倍,但现在并不重要...... – 2014-12-09 12:19:34