DROP ステートメントは、オブジェクトを削除します。 そのオブジェクトに直接または間接的に従属するオブジェクトがある場合、 それらも削除されるか、または作動不能になります。 (詳細については、作動不能トリガーおよび 作動不能視点を参照してください。) オブジェクトを削除すると、その記述がカタログから削除され、 そのオブジェクトを参照するパッケージがあれば無効になります。
呼び出し
このステートメントは、アプリケーション・プログラムに組み込むか、 あるいは動的 SQL ステートメントの使用によって発行することができます。 このステートメントは、動的に準備可能な実行可能ステートメントです。 しかし、バインド・オプション DYNAMICRULES BIND を適用する場合、 ステートメントを動的に準備することはできません (SQLSTATE 42509)。
許可
2 つの部分からなる名前が使用可能なオブジェクトを除去する場合、 DROP ステートメントの許可 ID が持つ特権には、以下のいずれかが含まれている必要があります。 これらが 1 つも含まれていない場合はエラーが戻されます (SQLSTATE 42501)。
表または視点の階層を除去する場合、DROP ステートメントの許可 ID は、 その階層内にあるそれぞれの表または視点について、上記の特権のいずれかを持っている必要があります。
スキーマを除去する場合、DROP ステートメントの許可 ID は SYSADM 権限または DBADM 権限を持っているか、 または SYSCAT.SCHEMATA の OWNER 列に記録されているスキーマ所有者でなければなりません。
バッファー・プール、ノード・グループ、または表スペースを除去する場合、 DROP ステートメントの許可 ID は SYSADM 権限または SYSCTRL 権限を持っている必要があります。
イベント・モニター、サーバー定義、データ・タイプ・マッピング、 関数マッピング、またはラッパーを除去する場合、 DROP ステートメントの許可 ID は SYSADM 権限または DBADM 権限を持っている必要があります。
ユーザー・マッピングを除去する際、 この許可 ID がマッピング内にある連合データベースの許可名と異なる場合には、 DROP ステートメントの許可 ID に SYSADM または DBADM 権限が必要です。 許可 ID と許可名が一致する場合には、必要とされる特権または権限はありません。
変形を除去する際、DROP ステートメントの 許可 ID は SYSADM 権限か DBADM 権限を保持しているか、 または type-name の DEFINER でなければなりません。
構文
>>-DROP---------------------------------------------------------> (1) >-----+-ALIAS-------alias-name--------------------------------------------------+> +-BUFFERPOOL--bufferpool-name---------------------------------------------+ +-EVENT--MONITOR--event-monitor-name--------------------------------------+ +-FUNCTION----function-name--+-------------------------------+------------+ | '-(--+-------------------+---)--' | | | .-,-----------. | | | | V | | | | '----data-type---+--' | +-SPECIFIC FUNCTION--specific-name----------------------------------------+ +-FUNCTION MAPPING--function-mapping-name---------------------------------+ | (2) | +-INDEX--index-name-------------------------------------------------------+ +-INDEX EXTENSION--index-extension-name--RESTRICT-------------------------+ +-METHOD--method-name--+------------------------------+---FOR--type-name--+ | '-(--+------------------+---)--' | | | .-,----------. | | | | V | | | | '----datatype---+--' | +-SPECIFIC METHOD--specific-name------------------------------------------+ +-NICKNAME--nickname------------------------------------------------------+ +-NODEGROUP--nodegroup-name-----------------------------------------------+ | (3) | +-PACKAGE-------package-name----------------------------------------------+ +-PROCEDURE--procedure-name--+-------------------------------+------------+ | '-(--+-------------------+---)--' | | | .-,-----------. | | | | V | | | | '----data-type---+--' | +-SPECIFIC PROCEDURE--specific-name---------------------------------------+ +-SCHEMA--schema-name--RESTRICT-------------------------------------------+ +-SERVER--server-name-----------------------------------------------------+ +-TABLE--table-name-------------------------------------------------------+ +-TABLE HIERARCHY--root-table-name----------------------------------------+ | .-,------------------. | | V | | +--+-TABLESPACE--+------tablespace-name---+-------------------------------+ | '-TABLESPACES-' | +--+-TRANSFORM--+---+-ALL--------+---FOR--type-name-----------------------+ | '-TRANSFORMS-' '-group-name-' | +-TRIGGER--trigger-name---------------------------------------------------+ +-+----------------+---TYPE--type-name------------------------------------+ | | (4) | | | '-DISTINCT-------' | +-TYPE MAPPING--type-mapping-name-----------------------------------------+ +-USER MAPPING FOR--+-authorization-name-+---SERVER--server-name----------+ | '-USER---------------' | +-VIEW--view-name---------------------------------------------------------+ +-VIEW HIERARCHY--root-view-name------------------------------------------+ '-WRAPPER--wrapper-name---------------------------------------------------' >--------------------------------------------------------------><
注:
説明
その別名を参照する表、視点、およびトリガーは、作動不能になります。 93
指定したイベント・モニターが ON の場合は、エラー (SQLSTATE 55034) になります。 ON でない場合、そのイベント・モニターが削除されます。
イベント・モニターを除去する時点でそのイベント・モニターのターゲット・パスにイベント・ファイルが存在する場合、 そのイベント・ファイルは削除されません。 ただし、それと同じターゲット・パスを指定した新しいイベント・モニターが作成されると、 それらのイベント・ファイルは削除されます。
関数のインスタンスを指定する方法としては、次のようにいくつかの方法があります。
data-type が修飾されない場合は、 タイプ名は SQL パスでスキーマを検索することによって決定されます。 REFERENCE タイプに指定するデータ・タイプ名にも同様の規則が当てはまります。
パラメーター化データ・タイプの長さ、精度、または位取りを指定する必要はありません。 空の括弧をコーディングすることによって、 一致データ・タイプの検索時にそれらの属性を無視すべきことを指定することができます。
パラメーター値が異なるデータ・タイプ (REAL または DOUBLE) を示しているため、 FLOAT() を使用することはできません (SQLSTATE 42601)。
ただし、長さ、精度、または位取りをコーディングする場合、 その値は、CREATE PROCEDURE ステートメントにおける指定に完全に一致していなければなりません。
0 <n<25 は REAL を意味し、24<n<54 は DOUBLE を意味するので、 FLOAT(n) のタイプは、n に定義された値と一致している必要はありません。 タイプが REAL か DOUBLE かによって、生じる一致は異なってきます。
指定したスキーマまたは暗黙のスキーマに、指定したシグニチャーを持つ関数がない場合は、 エラー (SQLSTATE 42883) になります。
SYSIBM スキーマまたは SYSFUN スキーマ (SQLSTATE 42832) の関数は除去できません。
他のオブジェクトが関数に従属している場合があります。 そのような関数を除去する場合には、 その前にそのような従属オブジェクトをすべて除去しておく必要があります (作動不能としてマークされるパッケージは除く)。 従属オブジェクトを伴う関数を除去しようとすると、エラー (SQLSTATE 42893) になります。 それらの従属関係のリストについては、*** ページを参照してください。
関数が除去可能な場合、その関数が除去されます。
除去する特定関数に従属するパッケージがある場合には、それは作動不能としてマークされます。 そのようなパッケージが暗黙のうちに再バインドされることはありません。 BIND コマンドまたは REBIND コマンドを使って再バインドするか、 PREP コマンドを使って再作成する必要があります。 これらのコマンドについては、コマンド解説書 を参照してください。
デフォルトの関数マッピングは、除去することができません。 しかし、それらを使用不可にすることができます。 例については、CREATE FUNCTION MAPPINGの例 3 を参照してください。
除去される関数マッピングに従属しているパッケージは、無効になります。
除去される索引または索引指定に従属しているパッケージは、無効になります。
DROP METHOD によって、メソッドの本体は削除されますが、 メソッドの指定 (シグニチャー) はサブジェクト・タイプの定義の一部として残されます。 メソッドの本体が除去された後、 メソッドの指定は ALTER TYPE DROP METHOD によってサブジェクト・タイプの定義から削除することができます。
除去するメソッド本体は、次のようないくつかの方法で指定することができます。
data-type が修飾なしの場合は、SQL パスでスキーマを検索してタイプ名が決定されます。
パラメーター化データ・タイプの長さ、精度、または位取りを指定する必要はありません。 空の括弧をコーディングすることによって、 一致データ・タイプの検索時にそれらの属性を無視すべきことを指定することができます。
パラメーター値が異なるデータ・タイプ (REAL または DOUBLE) を示しているため、 FLOAT() を使用することはできません (SQLSTATE 42601)。
ただし、長さ、精度、または位取りをコーディングする場合、 その値は、CREATE TYPE ステートメントで指定された値と完全に一致していなければなりません。
0 <n<25 は REAL を意味し、24<n<54 は DOUBLE を意味するので、 FLOAT(n) のタイプは、n に定義された値と一致している必要はありません。 タイプが REAL か DOUBLE かによって、生じる一致は異なってきます。
指定されたデータ・タイプに、指定されたシグニチャーを持つメソッドが存在しない場合は、 エラーが戻されます (SQLSTATE 42883)。
メソッドに他のオブジェクトが従属している場合があります。 そのような場合は、メソッドを除去する前にそれらの従属関係をすべて取り除く必要があります (ただし、 そのメソッドが除去されると作動不能としてマークされるパッケージは例外です)。 そのような従属関係を持つメソッドを除去しようとすると、エラーが戻されます (SQLSTATE 42893)。
除去できる状態にあれば、メソッドは除去されます。
除去する特定のメソッドに従属しているパッケージは、 そのメソッドが除去されると、作動不能としてマークされます。 そのようなパッケージが暗黙的に再バインドされることはありません。 これらのパッケージは、BIND コマンドまたは REBIND コマンドを使用して再バインドするか、 あるいは PREP コマンドを使用して再作成する必要があります。 これらのコマンドについては、コマンド解説書 を参照してください。
ニックネームに関連した列および索引に関するすべての情報が、カタログから削除されます。 ニックネームに従属した索引指定は除去されます。 ニックネームに従属したすべての視点に作動不能のマークが付けられます。 除去された索引指定または作動不能視点に従属したパッケージはすべて無効です。 ニックネームが参照するデータ・ソースは影響を受けません。
ノード・グループを除去すると、そのノード・グループに定義されている表スペースがすべて除去されます。 そのような表スペース内の表に対して従属関係がある既存のデータベース・オブジェクト (パッケージや参照制約など) は、 除去されるか、または無効になり (該当する場合)、従属する視点とトリガーは作動不能になります。
システム定義のノード・グループは除去できません (SQLSTATE 42832)。
現在データ再配布が行われているノード・グループに対して DROP NODEGROUP を発行すると、 DROP NODEGROUP 操作は失敗し、エラーが戻されます (SQLSTATE 55038)。 ただし、部分的に再配布されたノード・グループは除去できます。 ノード・グループは、REDISTRIBUTE NODEGROUP コマンドが完了するまで実行されなかった場合に、 部分的に再配布の状態になります。 これは、エラーまたは force application all コマンドによって割り込まれた場合に起こる可能性があります。 94
プロシージャー・インスタンスを指定する方法としては、次のようにいくつかの方法があります。
data-type が修飾なしの場合は、 SQL パスでスキーマを検索することによってタイプ名が決定されます。 REFERENCE タイプに指定するデータ・タイプ名にも同様の規則が当てはまります。
パラメーター化データ・タイプの長さ、精度、または位取りを指定する必要はありません。 空の括弧をコーディングすることによって、 一致データ・タイプの検索時にそれらの属性を無視するように指定することができます。
パラメーター値が異なるデータ・タイプ (REAL または DOUBLE) を示しているため、 FLOAT() を使用することはできません (SQLSTATE 42601)。
ただし、長さ、精度、または位取りをコーディングする場合、 その値は、CREATE FUNCTION ステートメントにおける指定に完全に一致していなければなりません。
0 <n<25 は REAL を意味し、24<n<54 は DOUBLE を意味するので、 FLOAT(n) のタイプは、n に定義された値と一致している必要はありません。 タイプが REAL か DOUBLE かによって、一致する値は異なってきます。
指定したスキーマまたは暗黙のスキーマに、指定されたシグニチャーを持つプロシージャーがない場合は、 エラーが戻されます (SQLSTATE 42883)。
データ・ソースに常駐する表および視点のニックネームはすべて除去されます。 また、これらのニックネームに従属する索引指定もすべて除去されます。 除去されたサーバー定義に従属するユーザー定義関数マッピング、 ユーザー定義タイプ・マッピング、およびユーザー・マッピングもすべて除去されます。 除去されたサーバー定義、関数マッピング、ニックネーム、 および索引指定に依存するパッケージはすべて無効になります。
その表を参照するすべての索引、基本キー、外部キー、検査制約、および要約表は除去されます。 その表を参照するすべての視点およびトリガー 95 は、作動不能になります。 除去されたオブジェクトまたは作動不能としてマークされたオブジェクトに従属するすべてのパッケージは無効になります。 これには、副表よりも上位の階層であるスーパー表に従属するパッケージが含まれます。 参照列の中で、除去された表を参照の効力範囲として定義したものがあれば、 参照範囲は無効になります。
宣言された一時表にパッケージが従属することはありません。 したがって、宣言された一時表が除去されてもパッケージが無効になることはありません。
DATALINK 列でリンクされたファイルはすべてリンク解除されます。 リンク解除操作は非同期で実行されるので、 ファイルを他の操作ですぐに使用することはできない場合があります。
表階層から副表を除去すると、その副表に関連した列はアクセスできなくなります (ただし、 列の数や行のサイズの制限に関しては考慮されます)。 副表を除去すると、スーパー表から副表の列がすべて削除されてしまいます。 その結果、スーパー表に定義したトリガーや参照保全制約が活動化することがあります。
宣言された一時表が、現在の作業単位または保管点が活動状態になる前に作成されたものである場合は、 その一時表を除去すると機能上で表が除去されてしまうため、 アプリケーションからその一時表にアクセスすることができなくなります。 しかし、表スペースでは、作業単位がコミットされるまで、あるいは保管点が終了するまで、 依然としてこの表が予約された状態にあるため、USER TEMPORARY 表スペースを除去したり、 USER TEMPORARY 表スペースのノードグループを再配布することはできません。 宣言された一時表が除去されると、DROP がコミットされたかロールバックされたかにかかわらず、 表に含まれていたデータはすべて破棄されます。
除去された表を参照するすべての索引、要約表、基本キー、外部キー、および検査制約は除去されます。 除去された表を参照するすべての視点およびトリガーは、作動不能になります。 除去されたオブジェクトまたは作動不能としてマークされたオブジェクトに従属するすべてのパッケージは無効になります。 参照列の中で、除去された表を参照の効力範囲として定義したものがあれば、参照範囲は無効になります。
DATALINK 列でリンクされたファイルはすべてリンク解除されます。 リンク解除操作は非同期で実行されるので、 ファイルを他の操作ですぐに使用することはできないかもしれません。
単一の副表を除去する場合とは違い、表階層を除去しても、 階層内にある任意の表の削除トリガーが活動化したり、 削除された行が記録されたりすることはありません。
表の一部が除去される表スペースに保管され、 1 つかそれ以上の部分が除去されない別の表スペースに保管されている場合、 この表スペースは除去されません (SQLSTATE 55024)。 (そのような表を前もって除去する必要があります。) システム表スペースは除去できません (SQLSTATE 42832)。 データベースに一時表スペースが 1 つしか存在しない場合は、 SYSTEM TEMPORARY 表スペースを除去することはできません。 宣言された一時表が作成されている USER TEMPORARY 表スペースは除去できません (SQLSTATE 55039)。 USER TEMPORARY 表スペースでは、宣言された一時表が削除されていても、 DROP TABLE を含む作業単位がコミットされるまでは、その表スペースは使用中とみなされます。
表スペースを除去すると、その表スペースに定義されているオブジェクトがすべて除去されます。 パッケージや参照制約などのその表スペースに従属する既存のすべてのデータベース・オブジェクトは除去されるか、 または無効になり、従属している視点やトリガーは作動不能になります。
ユーザーによって作成されたコンテナーは削除されません。 CREATE TABLESPACE でデータベース・マネージャーによって作成されたコンテナー名の パスに含まれているディレクトリーは、いずれも削除されます。 データベース・ディレクトリーから下にあるすべてのコンテナーは削除されます。 SMS 表スペースでは、 すべての接続が切断されるか DEACTIVATE DATABASE コマンドが出されるまで削除は行われません。
type-name に定義されている変形が存在しない場合は、エラーが戻されます (SQLSTATE 42740)。
DROP TRANSFORM は、CREATE TRANSFORM の逆の処理を行います。 DROP TRANSFORM は、 指定されたデータ・タイプで特定のグループに関連付けられた変形関数を未定義の状態にします。 これらのグループに関連付けられていた関数は引き続き存在しており、 明示的に呼び出すことができますが、 これらの関数にはもはや変形プロパティーは含まれていないので、 ホスト言語環境で値を交換するためにこれらの関数が暗黙的に呼び出されることはありません。
変形グループの中に SQL 以外の言語で書かれたユーザー定義関数 (またはメソッド) があり、 その関数が、ユーザー定義タイプ type-name に定義されたそのグループの変形関数のいずれかに従属している場合、 その変形グループは除去されません (SQLSTATE 42893)。 このようなユーザー定義関数が従属している変形関数は、 type-name で定義された参照先の変形グループに関連付けられています。 そのため、パッケージが属している変形関数が、指定された変形グループと関連付けられていると、 そのパッケージは作動不能としてマークされてしまいます。
トリガーを除去すると、特定のパッケージが無効としてマークされます。 トリガーの作成 (同じ規則に従う) についての、 CREATE TRIGGERの "注" を参照してください。
除去されるタイプを使用する関数について: ユーザー定義タイプが除去可能な場合、 除去するそのタイプ (または除去するタイプを参照するもの) の パラメーターまたは戻り値が含まれているすべての関数 (F) (特定名は SF) に、 以下の DROP FUNCTION ステートメントが実行されることになります。
DROP SPECIFIC FUNCTION SF
このステートメントがカスケードして、従属する関数も除去される可能性があります。 ユーザー定義タイプへの従属関係に基づいて、それらの関数もすべて除去リストに含まれている場合には、 ユーザー定義タイプの除去は正常に処理されます (そうでない場合、SQLSTATE 42893 のエラーになります)。
除去されるタイプを使用するメソッドについて: ユーザー定義タイプが除去可能な場合、 除去するそのタイプ (または除去するタイプを参照するもの) の パラメーターまたは戻り値が含まれているタイプ T1 のメソッド (M) (特定名は SM) に、 以下のステートメントが実行されることになります。
DROP SPECIFIC METHOD SM ALTER TYPE T1 DROP SPECIFIC METHOD SM
これらのメソッドに従属しているオブジェクトがあると、DROP TYPE が失敗する場合があります。
その他に除去されるオブジェクトはありません。
authorization-name は、 カタログにリストされていなければなりません (SQLSTATE 42704)。 server-name (サーバー名) は、 カタログに記述されているデータ・ソースを指定していなければなりません (SQLSTATE 42704)。 ユーザー・マッピングが削除されます。
その他に除去されるオブジェクトはありません。
指定した視点が削除されます。 直接的または間接的にその視点に従属する視点またはトリガーの定義は、作動不能としてマークされます。 作動不能というマークが付いた表に従属する要約表はすべて除去されます。 除去された視点または作動不能としてマークされた視点に従属するパッケージはいずれも無効になります。 これには、副視点よりも上位の階層であるスーパー視点に従属するパッケージが含まれます。 参照列の中で、除去された視点を参照の効力範囲として定義したものがあれば、参照範囲は無効になります。
直接的または間接的に除去された視点に従属する視点またはトリガーの定義は、 作動不能としてマークされます。 除去された視点やトリガー、 または作動不能としてマークされた視点やトリガーに従属するパッケージはいずれも、無効になります。 参照列の中で、除去された視点や作動不能とマークされた視点を参照の効力範囲として定義したものがあれば、 参照範囲は無効になります。
そのラッパーに従属するすべてのサーバー定義、ユーザー定義関数マッピング、 およびユーザー定義データ・タイプ・マッピングは除去されます。 除去されたサーバー定義に従属するユーザー定義関数マッピング、ニックネーム、 ユーザー定義データ・タイプ・マッピング、およびユーザー・マッピングもすべて除去されます。 除去されたニックネームに従属する索引指定はすべて除去され、 こうしたニックネームに従属する視点はすべて、作動不能としてマークが付けられます。 除去されたオブジェクトと作動不能視点に従属するすべてのパッケージは無効になります。
従属関係: 表 27 は、 オブジェクトの相互間の従属関係を示します。 96 このリストには、以下の 4 つの異なるタイプの従属関係が示されています。
DROP ステートメントのパラメーターおよびオブジェクトには、 結果的にブランク行または列になるため、表 27 に示されていないものもあります。
オブジェクト・タイプ > ステートメント V |
制 約 |
関 数 |
関 数 マ ッ ピ ン グ |
索 引 |
|
メ ソ ッ ド |
ニ ッ ク ネ | ム |
ノ | ド ・ グ ル | プ |
パ ッ ケ | ジ |
サ | バ | |
表 |
表 ス ペ | ス |
ト リ ガ | |
タ イ プ |
タ イ プ ・ マ ッ ピ ン グ |
ユ | ザ |
|
視 点 |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
ALTER NICKNAME | - | - | - | - | - | - | - | - | A | - | - | - | - | - | - | - | - |
ALTER SERVER | - | - | - | - | - | - | - | - | A | - | - | - | - | - | - | - | - |
ALTER TABLE DROP CONSTRAINT | C | - | - | - | - | - | - | - | A1 | - | - | - | - | - | - | - | - |
ALTER TABLE DROP PARTITIONING KEY | - | - | - | - | - | - | - | R20 | A1 | - | - | - | - | - | - | - | - |
ALTER TYPE ADD ATTRIBUTE | - | - | - | - | R | - | - | - | A23 | - | R24 | - | - | - | - | - | R14 |
ALTER TYPE DROP ATTRIBUTE | - | - | - | - | R | - | - | - | A23 | - | R24 | - | - | - | - | - | R14 |
ALTER TYPE ADD METHOD | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - |
ALTER TYPE DROP METHOD | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - |
DROP ALIAS | - | R | - | - | - | - | - | - | A3 | - | R3 | - | X3 | - | - | - | X3 |
DROP BUFFERPOOL | - | - | - | - | - | - | - | - | - | - | - | R | - | - | - | - | - |
DROP FUNCTION | R | R7 | R | - | R | R7 | - | - | X | - | R | - | R | - | - | - | R |
DROP FUNCTION MAPPING | - | - | - | - | - | - | - | - | A | - | - | - | - | - | - | - | - |
DROP INDEX | R | - | - | - | - | - | - | - | A | - | - | - | - | - | - | - | R17 |
DROP INDEX EXTENSION | - | R | - | R | - | - | - | - | - | - | - | - | - | - | - | - | - |
DROP METHOD | R | R7 | R | - | R | R | - | - | X | - | R | - | R | - | - | - | R |
DROP NICKNAME | - | R | - | C | - | - | - | - | A | - | - | - | - | - | - | - | X16 |
DROP NODEGROUP | - | - | - | - | - | - | - | - | - | - | - | C | - | - | - | - | - |
DROP SERVER | - | C21 | C19 | - | - | - | C | - | A | - | - | - | - | - | C19 | C | - |
DROP TABLE | C | R | - | C | - | - | - | - | A9 | - | RC11 | - | X16 | - | - | - | X16 |
DROP TABLE HIERARCHY | C | R | - | C | - | - | - | - | A9 | - | RC11 | - | X16 | - | - | - | X16 |
DROP TABLESPACE | - | - | - | C6 | - | - | - | - | - | - | CR6 | - | - | - | - | - | - |
DROP TRANSFORM | - | R | - | - | - | - | - | - | X | - | - | - | - | - | - | - | - |
DROP TRIGGER | - | - | - | - | - | - | - | - | A1 | - | - | - | - | - | - | - | - |
DROP TYPE | R13 | R5 | - | - | R | - | - | - | A12 | - | R18 | - | R13 | R4 | - | - | R14 |
DROP VIEW | - | R | - | - | - | - | - | - | A2 | - | - | - | X16 | - | - | - | X15 |
DROP VIEW HIERARCHY | - | R | - | - | - | - | - | - | A2 | - | - | - | X16 | - | - | - | X16 |
DROP WRAPPER | - | - | C | - | - | - | - | - | - | C | - | - | - | - | C | - | - |
REVOKE 特権10 | - | CR25 | - | - | - | - | - | - | A1 | - | CX8 | - | X | - | - | - | X8 |
タイプ付き視点に対して操作を行うステートメントがパッケージに含まれている場合、 同じ視点階層内で視点を作成したり除去したりすると、パッケージが無効になります。
別名自体は、どのような従属関係も持ちません。 存在していないオブジェクトに対しても、別名を定義できます。
タイプ付き表に対して操作を行うステートメントがパッケージに含まれている場合、 同じ表階層内で表を作成したり除去したりすると、パッケージが無効になります。
パッケージ、トリガー、または視点の FROM 文節で OUTER(Z) が使用されている場合、 Z のすべての副表または副視点で SELECT 特権に対する従属関係が存在します。 同じように、パッケージ、トリガー、または視点で DEREF(Y) が使用されていて、 Y が Z という表または視点をターゲットとする参照タイプである場合、 Z のすべての副表または副視点で SELECT 特権に対する従属関係が存在します。
カスケードのセマンティクスが、従属する要約表に適用されます。
副表はスーパー表に従属しており、この従属関係はルート表にまで及びます。 従属するすべての副表が除去されるまで、スーパー表は除去できません。
Mutator method: DROP METHOD A (TA) FOR T Observer method: DROP METHOD A () FOR T ALTER TYPE T DROP METHOD A(TA) DROP METHOD A()
注
上記の部分では、変形を暗黙的に呼び出すことによって従属関係が記録される場合のみを扱っているため、 関数、メソッド、あるいはパッケージ以外のオブジェクトが、 暗黙的に呼び出された変形関数に従属することはありません。 一方、変形関数を明示的に呼び出した場合 (たとえば、視点やトリガーなどで) は、 これらの他のタイプのオブジェクトが通常どおり変形関数に従属します。 したがって、変形に対するこれらの「明示的な」タイプの従属が除去されることによって、 DROP TRANSFORM が失敗する場合もあります (SQLSTATE 42893)。
例
DROP TABLE TDEPT
DROP VIEW VDEPT
例 3: 許可 ID HEDGES が別名を除去します。
DROP ALIAS A1
別名 HEDGES.A1 がカタログから除去されます。
例 4: Hedges は別名の除去を試みますが、 既存の表の名前である (別名でない) T1 を別名として指定しています。
DROP ALIAS T1
このステートメントはエラーになります (SQLSTATE 42809)。
例 5:
BUSINESS_OPS ノードグループを除去します。 このノードグループを除去するには、 まずノードグループ内の表スペース (ACCOUNTING と PLANS) を除去する必要があります。
DROP TABLESPACE ACCOUNTING DROP TABLESPACE PLANS DROP NODEGROUP BUSINESS_OPS
例 6: Pellow は CENTRE 関数を除去します。 この関数は、除去する関数インスタンスであることを示すためにシグニチャーを使用して、 PELLOW スキーマに作成したものです。
DROP FUNCTION CENTRE (INT,FLOAT)
例 7: McBride は FOCUS92 関数を除去します。 この関数は、除去する関数インスタンスであることを示すために特定名を使用して、 PELLOW スキーマに作成したものです。
DROP SPECIFIC FUNCTION PELLOW.FOCUS92
例 8: CHEM スキーマから関数 ATOMIC_WEIGHT を除去します。 このスキーマには、この名前の関数は 1 つしかないことが分かっています。
DROP FUNCTION CHEM.ATOMIC_WEIGHT
例 9: トリガー SALARY_BONUS を除去します。 このトリガーにより、従業員は指定の条件で給与に加えてボーナスを受け取ります。
DROP TRIGGER SALARY_BONUS
例 10: 現在使用していない SHOESIZE という名前の特殊データ・タイプを除去します。
DROP DISTINCT TYPE SHOESIZE
例 11: SMITHPAY イベント・モニターを除去します。
DROP EVENT MONITOR SMITHPAY
例 12: CREATE SCHEMA の例 2 で RESTRICT を使用して作成したスキーマを除去します。 PART という名前の表をまず削除する必要があることに注意してください。
DROP TABLE PART DROP SCHEMA INVENTRY RESTRICT
例 13 Macdonald は DESTROY プロシージャーを除去します。 このプロシージャーは、 除去するプロシージャー・インスタンスであることを示すために特定名を使用して、 EIGLER スキーマに作成したものです。
DROP SPECIFIC PROCEDURE EIGLER.DESTROY
例 14 BIOLOGY スキーマからプロシージャー OSMOSIS を除去します。 このスキーマには、この名前のプロシージャーは 1 つしかないことが分かっています。
DROP PROCEDURE BIOLOGY.OSMOSIS
例 15: ユーザー SHAWN は、 連合データベースにアクセスするときと、 ORACLE1 という Oracle データ・ソースのデータベースにアクセスするときでは、 異なる許可 ID を使用しました。 2 つの許可でマッピングが作成されましたが、 SHAWN がそのデータ・ソースにアクセスする必要はなくなりました。 マッピングを除去します。
DROP USER MAPPING FOR SHAWN SERVER ORACLE1
例 16: ニックネームが参照するデータ・ソース表の索引が削除されました。 最適化プログラムにこの索引を認識させるために作成した索引指定を除去します。
DROP INDEX INDEXSPEC
例 17: 変形グループ MYSTRUCT1 を除去します。
DROP TRANSFORM MYSTRUCT1 FOR POLYGON
例 18: PERSONNEL スキーマで EMP データ・タイプからメソッド BONUS を除去します。
DROP METHOD BONUS (SALARY DECIMAL(10,2)) FOR PERSONNEL.EMP