11.1.17 実表を削除する方法
実表を削除するには,定義系SQLのDROP TABLE文を実行します。
- 重要
-
-
実表を削除した場合,削除対象の実表に依存するビュー表が削除されます(または無効化されます)。そのため,実表を削除する前に,削除対象の実表に依存するビュー表があるかどうかを確認し,削除または無効化されても問題ないことを確認してください。
-
主キーを定義している実表を削除した場合,削除した実表を被参照表とする外部キーも削除されます(ほかのスキーマの外部キーも削除されます)。そのため,実表を削除する前に,外部キーが削除されても問題ないことを確認してください。ただし,削除動作にRESTRICTを指定した場合はSQL文がエラーになります。
-
実表の削除例を次に示します。
- 例題
-
店舗表(SHOPSLIST)を削除します。
手順
-
削除対象の実表に依存するビュー表を確認する
ディクショナリ表を検索すると,削除対象の実表に依存するビュー表を確認できます。ディクショナリ表の検索例については,「11.2.11 依存するビュー表を確認する方法」を参照してください。
-
削除対象の実表を被参照表とする外部キーを確認する
主キーを定義している実表を削除する場合に必要な作業です。
ディクショナリ表を検索すると,削除対象の実表を被参照表とする外部キーを確認できます。ディクショナリ表の検索例については,「付録B.22 ディクショナリ表の検索」の「(21) 主キーを参照する外部キーを調べる場合」を参照してください。
-
削除対象の実表が更新不可状態かどうかを確認する
実表を削除する前に,削除する実表に対して,コマンドの再実行が必要かどうか(更新不可状態かどうか)を確認してください。確認する方法については,「10.9.2 実表の状態や使用量を確認したい場合」の「(1) 実表が更新不可状態かどうかを確認する場合」を参照してください。
- 重要
-
- コマンドの再実行が必要な場合
-
コマンドを再実行してください。そのあとで,実表を削除してください。
- コマンドの再実行が必要な状態のままで(更新不可状態のままで)実表を削除した場合
-
中断したコマンドによって作成された作業用一時ファイルが残ることがあります。作業用一時ファイルを削除するには,すべての実表の更新不可状態を解除する必要があります。作業用一時ファイルの削除については,「15.2.6 コマンド実行時の作業用一時ファイルを格納するディスクの空き容量が不足した場合の対処方法」の「(2) ディスクに不要な作業用一時ファイルが残っている場合」を参照してください。
-
DROP TABLE文を実行する
DROP TABLE "SHOPSLIST" CASCADE
- メモ
-
上記の例では,削除動作にCASCADEを指定しているため,削除対象の実表に依存するすべてのビュー表が削除されます。削除動作の指定を省略した場合は,削除対象の実表に依存するすべてのビュー表が無効化されます。