既存のテーブルからテーブルを作成しようとしています。制約とは別に渡される他の制約は何NOT NULL
ですか? また、新しいテーブルに渡される他の属性/機能は何ですか?
新しいテーブルを作成するために使用するクエリは次のとおりです。
create table sales_emp
as
select * from emp;
次の情報は公式マニュアルに記載されています(すべての強調点は私のものです)。
Oracle Databaseは、副問合せからデータ型と長さを導出します。Oracle Databaseは、整合性制約およびその他の列と表の属性について次のルールに従います。
副問合せが列を含む式ではなく列を選択する場合、選択した表の対応する列に対して明示的に作成された制約は、Oracle Databaseによって新しい表の列に対して自動的に定義されます。制約に違反する行がある場合、データベースはテーブルを作成せず、エラーを返します。
NOT NULL
NOT NULL
選択した表の列に対してOracle Databaseによって暗黙的に作成された制約(主キーなど)は、新しい表には引き継がれません。さらに、主キー、一意キー、外部キー、チェック制約、パーティション化基準、インデックス、および列のデフォルト値は、新しいテーブルに引き継がれません。
選択したテーブルがパーティション化されている場合、新しいテーブルを同じ方法でパーティション化するか、別の方法でパーティション化するか、またはパーティション化しないかを選択できます。パーティショニングは新しいテーブルに引き継がれません。句の
CREATE TABLE
前に、ステートメントの一部として必要なパーティションを指定します。AS subquery