web-dev-qa-db-ja.com

CREATE TABLE AS SELECTは、NULL不可能な列を作成します

Oracle11gでCREATETABLE AS SELECTステートメントを使用して、データベースリンクを介してSQL Server2012からデータを取得しています。

Oracleは、これらすべてのテーブルをnull許容でない列で作成するため、後で更新しようとすると問題が発生します。

Oracleでこの動作を防ぎ、結果の列をNULL可能にするにはどうすればよいですか?

1
alonk

事前に手動でテーブルを作成するか、CTASステートメントで列名にNULL可能性を指定してください。

create table blah2 
( 
  ctascolumn1 not null,
  ctascolumn2 null
) 
as 
select col1, col2 from blah;
2
Philᵀᴹ