3.13.1 DROP TABLE文の指定形式および規則
実表を削除します。
実表を削除した場合,インデクス,表制約,およびビュー表は,次のように影響を受けます。
-
実表に定義されているインデクスも削除されます。
-
削除した実表に依存するビュー表も削除されます(または無効化されます)。
-
実表に定義されている表制約※も削除されます。
- 注※
-
削除対象表に定義されている主キーおよび外部キーが削除されます。また,削除対象表を被参照表とする外部キーも削除されます(ほかのスキーマの外部キーも削除されます)。
- 〈この項の構成〉
(1) 指定形式
DROP TABLE文::=DROP TABLE 表名 〔削除動作〕 削除動作::={CASCADE|RESTRICT}
(2) 指定形式の説明
- ●表名
-
削除する実表の表名を指定します。表名の指定規則については,「6.1.5 名前の修飾」の「(2) 表名の指定形式」を参照してください。
なお,ビュー表の表名は指定できません。
- ●削除動作
-
削除動作::={CASCADE|RESTRICT}
次のどれかの条件を満たす場合に,実表を削除するかどうかを指定します。
-
削除対象の実表にインデクスが定義されている場合
-
削除対象の実表に依存するビュー表が定義されている場合
-
削除対象の実表に表制約が定義されている場合
削除動作の各指定の説明を次の表に示します。
削除動作の指定
説明
削除した実表に依存するビュー表の扱い
削除動作の指定を省略した場合
次のどれかの条件を満たす場合でも,実表を削除します。
-
削除対象の実表にインデクスが定義されている場合
-
削除対象の実表に依存するビュー表が定義されている場合
-
削除対象の実表に表制約が定義されている場合
このとき,次に示すものも削除されます。
-
実表に定義されているインデクスおよび表制約
-
削除対象表を被参照表とする外部キー(ほかのスキーマの外部キーも削除されます)
削除した実表に依存するビュー表が無効化されます。自スキーマのビュー表だけではなく,ほかのスキーマの依存するビュー表も無効化されます。
CASCADEを指定した場合
削除した実表に依存するビュー表が削除されます。自スキーマのビュー表だけではなく,ほかのスキーマの依存するビュー表も削除されます。
RESTRICTを指定した場合
次のどれかの条件を満たす場合は,DROP TABLE文をエラーにします。
-
削除対象の実表にインデクスが定義されている場合
-
削除対象の実表に依存するビュー表が定義されている場合
-
削除対象の実表に表制約が定義されている場合
DROP TABLE文がエラーになるため,依存するビュー表に影響はありません。
-
(3) 実行時に必要な権限
DROP TABLE文を実行する場合,CONNECT権限およびスキーマ定義権限が必要になります。
(4) 規則
-
DROP TABLE文に指定できる表名は,自分(HADBサーバに接続中の認可識別子のHADBユーザ)が所有している実表だけです。ほかのHADBユーザが所有している実表は削除できません。
-
データが格納されていても実表を削除できます。
-
ディクショナリ表(実表)およびシステム表(実表)は削除できません。
-
表を削除した場合,次のコスト情報も削除されます。
-
表のコスト情報
-
表に定義されているインデクスのコスト情報
-
-
表を削除した場合,その表に対するアクセス権限を持っているすべてのHADBユーザから,そのアクセス権限が取り消されます。アクセス権限が取り消された場合,ビュー表や,参照制約に影響を及ぼすおそれがあります。詳細については,「3.17.2 アクセス権限の取り消し」の「(4) 規則」を参照してください。
-
アーカイブマルチチャンク表を削除した場合,次の表とインデクスも削除されます。
-
アーカイブレンジ列に自動的に定義されたレンジインデクス
-
ロケーション表
-
ロケーション表のインデクス
-
-
アーカイブマルチチャンク表を削除した場合,アーカイブ状態でないチャンクに格納されたデータと,アーカイブ状態のチャンクに格納されたデータの両方が削除されます。
(5) 例題
- 例題
-
店舗表(SHOPSLIST)を削除します。
DROP TABLE "SHOPSLIST" CASCADE