1

そのビューが依存テーブルの主キー列で作成されている場合、主キー列名とともにビュー リストを取得する方法はありますか?

例えば:

Employee(ID PRIMARY KEY, FIRST NAME, LAST NAME, SALARY, DEPARTMENT) 

Employee テーブルから派生したビュー:

EMPLOYEEVIEW(ID, FIRST NAME, LAST NAME)

EMPLOYEEVIEW私の制約を満たします。私は、この種のビューを取得する必要があります。望ましい結果は次のようなものEMPLOYEEVIEW IDです。

4

1 に答える 1

2

現在のスキーマ内のテーブルの主キー制約を取得するには、次のクエリを使用できます。

select *
from   user_constraints
where  constraint_type = 'P'

ビューで主キーを検索するには、次のようなクエリを使用します

select *
from   user_views v
join   user_constraints c on upper(v.text) like '%'||c.table_name||'%'
where  c.constraint_type = 'P'
and    v.view_name = 'YOUR_VIEW_NAME'

残念ながら、user_views ビューのテキスト フィールドは恐ろしいデータ型 LONG であるため、LONG を VARCHAR に変換する独自の関数 (または google one )を作成する必要があります。これにより、upper() などを使用できます。

于 2012-09-11T22:08:52.673 に答える