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
[all][dba][user]_tab_columns
テーブルの列がデータ型を使用してオブジェクト型への参照として宣言されている場合、データ ディクショナリ ビューの列に値が入力さREF
れます (オブジェクトのオブジェクト識別子 (OID) を含む)。
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 には、テーブルを作成するための DDL を生成するために使用できる PL/SQL パッケージがあります。これを使った方が良さそうです。
http://docs.oracle.com/cd/B19306_01/appdev.102/b14258/d_metada.htm#i1019414の GET_DDL を参照してください。
于 2013-09-23T23:05:21.400 に答える