Hitachi

Hitachi Advanced Data Binder SQLリファレンス


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) 規則

  1. DROP TABLE文に指定できる表名は,自分(HADBサーバに接続中の認可識別子のHADBユーザ)が所有している実表だけです。ほかのHADBユーザが所有している実表は削除できません。

  2. データが格納されていても実表を削除できます。

  3. ディクショナリ表(実表)およびシステム表(実表)は削除できません。

  4. 表を削除した場合,次のコスト情報も削除されます。

    • 表のコスト情報

    • 表に定義されているインデクスのコスト情報

  5. 表を削除した場合,その表に対するアクセス権限を持っているすべてのHADBユーザから,そのアクセス権限が取り消されます。アクセス権限が取り消された場合,ビュー表や,参照制約に影響を及ぼすおそれがあります。詳細については,「3.17.2 アクセス権限の取り消し」の「(4) 規則」を参照してください。

  6. アーカイブマルチチャンク表を削除した場合,次の表とインデクスも削除されます。

    • アーカイブレンジ列に自動的に定義されたレンジインデクス

    • ロケーション表

    • ロケーション表のインデクス

  7. アーカイブマルチチャンク表を削除した場合,アーカイブ状態でないチャンクに格納されたデータと,アーカイブ状態のチャンクに格納されたデータの両方が削除されます。

(5) 例題

例題

店舗表(SHOPSLIST)を削除します。

DROP TABLE "SHOPSLIST" CASCADE