misc.log

日常茶飯事とお仕事と

ORA-01792「表またはビューに指定出来る最大列数は1000です」Oracle10gのカラム(列)数上限突破!

なんと……Oracle DBのテーブルに1,000を越える列を定義しようとした猛者が現れました(ホストから受け取ったデータを丸々突っ込もうと考えていた)。ちなみに、Oracle DBの列数は1,000が上限。明確な定義の資料は見あたりませんでしたが、下記のエラーORA-01792説明に記載がありました。参考まで。

ORA-01792 2 表またはビューに指定できる最大列数は1000 です。

原因: 1001 列以上ある表またはビューを作成しようとしたか、列を追加しすぎたため許容できる最大の列数1000 を超えました。表にある未使用の列も最大列数1000 に含まれることに注意してください。

処置: CREATE コマンドが原因でエラーが発生した場合、コマンドの列数を少なくして再実行してください。ALTER TABLE コマンドが原因でエラーが発生した場合は、次のいずれかの処置を行ってください。

・表に未使用の列がある場合、新しい列を追加する前に、ALTER TABLE DROPUNUSED COLUMNS を実行して未使用の列を削除してください。
・ コマンドの列数を少なくして、再実行してください。