我需要能够通过使用 DBA_TAB_COLUMNS 中的列数据来重建表列,因此要开发它,我需要了解每列所指的内容。我想了解 DATA_TYPE_MOD 是什么——文档(http://docs.oracle.com/cd/B19306_01/server.102/b14237/statviews_2094.htm#I1020277)说它是一个数据类型修饰符,但我似乎找不到任何填充此字段的列或任何使用虚拟列填充此字段的方法。有熟悉这个领域的吗?
问问题
648 次
2 回答
1
Data_type_mod
当使用数据类型(包含它指向的对象的对象标识符(OID))将表的列[all][dba][user]_tab_columns
声明为对对象类型的引用时,将填充数据字典视图的列。REF
create type obj as object(
item number
) ;
create table tb_1(
col ref obj
)
select t.table_name
, t.column_name
, t.data_type_mod
from user_tab_columns t
where t.table_name = 'TB_1'
结果:
table_name column_name data_type_mod
-----------------------------------------
TB_1 COL REF
于 2013-09-24T01:22:56.500 回答
0
Oracle 有一个 PL/SQL 包,可用于生成用于创建表的 DDL。使用它可能会更好。
请参阅http://docs.oracle.com/cd/B19306_01/appdev.102/b14258/d_metada.htm#i1019414上的 GET_DDL
于 2013-09-23T23:05:21.400 回答