DROP FOREIGN TABLE (SQL)
外部テーブルを削除します。
構文
DROP FOREIGN TABLE [ IF EXISTS ] table-name [ RESTRICT | CASCADE ]
引数
引数 | 説明 |
---|---|
IF EXISTS | オプション — table-name を持つ外部テーブルが存在しない場合に発生するエラーを抑制します。 |
table-name | 削除する外部テーブルの名前。この名前は有効な識別子である必要があります。コマンドを正常に実行するには、この名前の外部テーブルが存在する必要があります。 |
RESTRICT | オプション — ビューなどの SQL オブジェクトが外部テーブルで定義されている場合、その外部テーブルを削除すべきではないことを指定します。このオプションは既定の動作を提供します。 |
CASCADE | オプション — 外部テーブルで定義されたオブジェクト (ビューなど) はすべて、外部テーブルと共に削除されることを指定します。 |
説明
DROP FOREIGN TABLE コマンドは、外部サーバから外部テーブルを削除します。
既定では、このコマンドはビューが関連付けられていない外部テーブルのみを削除します。RESTRICT キーワードを指定することで、この動作を明示的に適用できます。RESTRICT キーワードが暗黙的または明示的に指定されている場合、関連付けられているビューと共に外部テーブルを削除しようとすると、SQLCODE -321 エラーが生成されます。
CASCADE キーワードが指定されている場合、DROP FOREIGN TABLE はテーブルとテーブルに関連付けられているすべてのビューを正常に削除します。
外部テーブルを削除するには、以下の条件を満たす必要があります。
-
外部テーブルが、現在のネームスペース内の外部サーバに存在している必要があります。存在しない外部テーブルを削除しようとすると、SQLCODE -30 エラーが生成されます。このエラーは、IF EXISTS キーワードを指定することで抑制できます。
-
外部テーブルを削除するには、必要な特権を持っている必要があります。特権を持たずにテーブルを削除しようとすると、SQLCODE -99 エラーが生成されます。
例
以下の例では、オブジェクトが定義されていない外部テーブルを削除します。
DROP FOREIGN TABLE Example.MyTable RESTRICT
以下の例では、外部テーブルと外部テーブルに関連付けられているビューを削除します。
DROP FOREIGN TABLE Example.MyTable CASCADE