1

Oracle データベースの他のテーブル (table_original と呼びましょう) と同じ列を持つテーブル (table_copy としましょう) を作成したいので、クエリは次のようになります: create table table_copy as (select * from table_original where 1=0) 、これによりテーブルが作成されますが、table_original の制約が table_copy にコピーされないため、この場合はどうすればよいですか?

4

2 に答える 2

3

NOT NULLCreate Table As Syntax (CTAS) を使用して、制約のみがコピーされます。その他は手動で作成する必要があります。

ただし、データ ディクショナリ ビューをクエリして制約の定義を確認し、PL/SQL を使用して新しいテーブルに実装することもできます。

役立つ可能性があるその他のツールは、Oracle Data Pump です。REMAP_TABLE新しいテーブルの名前を指定するオプションを使用して、テーブルをインポートできます。

于 2013-05-27T11:50:51.883 に答える