3.14.1 DROP FOREIGN TABLE文の指定形式および規則
外部表を削除します。外部表を削除した場合,削除した外部表に依存するビュー表も削除されます(または無効化されます)。
- 〈この項の構成〉
(1) 指定形式
DROP FOREIGN TABLE文::=DROP FOREIGN TABLE 表名 〔削除動作〕 削除動作::={CASCADE|RESTRICT}
(2) 指定形式の説明
- ●表名
-
削除する外部表の表名を指定します。表名の指定規則については,「6.1.5 名前の修飾」の「(2) 表名の指定形式」を参照してください。
実表およびビュー表の表名は指定できません。また,定義されていない外部表の表名も指定できません。
- ●削除動作
-
削除動作::={CASCADE|RESTRICT}
削除対象の外部表に依存するビュー表が定義されている場合に,外部表を削除するかどうかを指定します。削除動作の各指定の説明を次の表に示します。
削除動作の指定
説明
外部表に依存するビュー表の扱い
削除動作の指定を省略した場合
削除対象の外部表に依存するビュー表が定義されている場合でも,外部表を削除します。
削除された外部表に依存するビュー表が無効化されます。自スキーマのビュー表だけではなく,ほかのスキーマのビュー表も無効化されます。
CASCADEを指定した場合
削除された外部表に依存するビュー表が削除されます。自スキーマのビュー表だけではなく,ほかのスキーマのビュー表も削除されます。
RESTRICTを指定した場合
削除対象の外部表に依存するビュー表が定義されている場合は,DROP FOREIGN TABLE文をエラーにします。
DROP FOREIGN TABLE文がエラーになるため,依存するビュー表に影響はありません。
(3) 実行時に必要な権限
DROP FOREIGN TABLE文を実行する場合,CONNECT権限およびスキーマ定義権限が必要になります。
(4) 規則
-
自分(HADBサーバに接続中の認可識別子のHADBユーザ)が定義した外部表だけを削除できます。ほかのHADBユーザが定義した外部表は削除できません。
-
外部表を削除した場合,その外部表に対するアクセス権限を持っているすべてのHADBユーザから,そのアクセス権限が取り消されます。アクセス権限が取り消された場合,ビュー表に影響を及ぼすおそれがあります。詳細については,「3.22.2 アクセス権限の取り消し」の「(4) 規則」を参照してください。
(5) 例題
- 例題
-
外部表である商品閲覧履歴表(ACCESSLOG)を削除します。
DROP FOREIGN TABLE "ACCESSLOG" CASCADE