SQL 解説書

DROP

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---------------------------------------------------'
 
>--------------------------------------------------------------><
 

注:

  1. ALIAS の同義語として SYNONYM を使用できます。

  2. Index-name には、索引、あるいは索引指定のどちらかの名前を指定できます。

  3. PACKAGE の同義語として PROGRAM を使用できます。

  4. 任意のユーザー定義タイプを除去するのに DATA を使用することもできます。

説明

ALIAS alias-name
除去する別名を指定します。 alias-name (別名) は、 カタログに記述されている別名を指定する名前でなければなりません (SQLSTATE 42704)。 指定した別名が削除されます。

その別名を参照する表、視点、およびトリガーは、作動不能になります。 93

BUFFERPOOL bufferpool-name
除去するバッファー・プールを指定します。 bufferpool-name (バッファー・プール名) は、 カタログに記述されているバッファー・プールを指定していなければなりません (SQLSTATE 42704)。 そのバッファー・プールに表スペースが割り当てられていてはなりません (SQLSTATE 42893)。 IBMDEFAULTBP バッファー・プールは除去できません (SQLSTATE 42832)。 バッファー・プールとしての記憶域は、データベースが停止するまでは解放されません。

EVENT MONITOR event-monitor-name
除去するイベント・モニターを指定します。 event-monitor-name (イベント・モニター名) は、 すでにカタログに存在するイベント・モニターを指定していなければなりません (SQLSTATE 42704)。

指定したイベント・モニターが ON の場合は、エラー (SQLSTATE 55034) になります。 ON でない場合、そのイベント・モニターが削除されます。

イベント・モニターを除去する時点でそのイベント・モニターのターゲット・パスにイベント・ファイルが存在する場合、 そのイベント・ファイルは削除されません。 ただし、それと同じターゲット・パスを指定した新しいイベント・モニターが作成されると、 それらのイベント・ファイルは削除されます。

FUNCTION
除去するユーザー定義関数 (完全な関数または関数テンプレートのいずれか) のインスタンスを指定します。 指定する関数インスタンスは、 カタログに記述されたユーザー定義関数でなければなりません。 CREATE DISTINCT TYPE ステートメントによって暗黙に生成された関数は除去できません。

関数のインスタンスを指定する方法としては、次のようにいくつかの方法があります。

FUNCTION function-name
特定の関数を指定します。 function-name (関数名) の関数インスタンスが 1 つだけ存在している場合にのみ有効です。 このように指定する関数には、任意の数のパラメーターが定義されていても構いません。 動的 SQL ステートメントでは、CURRENT SCHEMA 特殊レジスターは、 修飾子のないオブジェクト名の修飾子として使用されます。 静的 SQL ステートメントでは、 QUALIFIER プリコンパイル / バインド・オプションにより、 修飾子のないオブジェクト名の修飾子が暗黙指定されます。 指定したスキーマまたは暗黙のスキーマにこの名前の関数が存在しない場合は、 エラー (SQLSTATE 42704) になります。 指定したスキーマまたは暗黙のスキーマに、この関数の特定インスタンスが複数存在する場合は、 エラー (SQLSTATE 42854) になります。

FUNCTION function-name (data-type,...)
除去する関数を固有に指定する関数シグニチャーを指定します。 関数選択のアルゴリズムは使用されません。

function-name
除去する関数の関数名を指定します。 動的 SQL ステートメントでは、CURRENT SCHEMA 特殊レジスターは、 修飾子のないオブジェクト名の修飾子として使用されます。 静的 SQL ステートメントでは、QUALIFIER プリコンパイル / バインド・オプションにより、 修飾子のないオブジェクト名の修飾子が暗黙指定されます。

(data-type,...)
これは、CREATE FUNCTION ステートメントの対応する位置に指定されたデータ・タイプに一致していなければなりません。 データ・タイプ (data-type) の数、およびデータ・タイプを論理的に連結した値が、 除去する特定の関数を識別するのに使用されます。

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) になります。

SPECIFIC FUNCTION specific-name
関数の作成時に指定された特定関数名、またはデフォルト値として使用された特定関数名を使用して、 除去する特定のユーザー定義関数を指定します。 動的 SQL ステートメントでは、CURRENT SCHEMA 特殊レジスターは、 修飾子のないオブジェクト名の修飾子として使用されます。 静的 SQL ステートメントでは、 QUALIFIER プリコンパイル / バインド・オプションにより、 修飾子のないオブジェクト名の修飾子が暗黙指定されます。 specific-name (特定名) は、 指定したスキーマまたは暗黙のスキーマの特定関数のインスタンスを指定していなければなりません。 そうでない場合、エラー (SQLSTATE 42704) になります。

SYSIBM スキーマまたは SYSFUN スキーマ (SQLSTATE 42832) の関数は除去できません。

他のオブジェクトが関数に従属している場合があります。 そのような関数を除去する場合には、 その前にそのような従属オブジェクトをすべて除去しておく必要があります (作動不能としてマークされるパッケージは除く)。 従属オブジェクトを伴う関数を除去しようとすると、エラー (SQLSTATE 42893) になります。 それらの従属関係のリストについては、*** ページを参照してください。

関数が除去可能な場合、その関数が除去されます。

除去する特定関数に従属するパッケージがある場合には、それは作動不能としてマークされます。 そのようなパッケージが暗黙のうちに再バインドされることはありません。 BIND コマンドまたは REBIND コマンドを使って再バインドするか、 PREP コマンドを使って再作成する必要があります。 これらのコマンドについては、コマンド解説書 を参照してください。

FUNCTION MAPPING function-mapping-name
除去する関数マッピングを指定します。 function-mapping-name は、 カタログに記述されているユーザー定義関数マッピングを指定していなければなりません (SQLSTATE 42704)。 その関数マッピングはデータベースから削除されます。

デフォルトの関数マッピングは、除去することができません。 しかし、それらを使用不可にすることができます。 例については、CREATE FUNCTION MAPPINGの例 3 を参照してください。

除去される関数マッピングに従属しているパッケージは、無効になります。

INDEX index-name
除去する索引または索引指定を指定します。 index-name (索引名) は、 カタログに記述されている索引または索引指定を識別していなければなりません (SQLSTATE 42704)。 索引は、システムが必要としている基本キーまたは固有制約の索引であってはなりません (SQLSTATE 42917)。 指定した索引または索引指定は削除されます。

除去される索引または索引指定に従属しているパッケージは、無効になります。

INDEX EXTENSION index-extension-name RESTRICT
除去する索引の拡張を指定します。 index-extension-name (索引の拡張名) は、 カタログに記述されている索引の拡張を指定する名前でなければなりません (SQLSTATE 42704)。 RESTRICT キーワードは、 この索引の拡張の定義に従って索引を定義できないように規則を課します (SQLSTATE 42893)。

METHOD
除去するメソッド本体を指定します。 指定するメソッドの本体は、カタログに記述されているメソッドでなければなりません (SQLSTATE 42704)。 CREATE TYPE ステートメントによって暗黙的に生成されたメソッドを除去することはできません。

DROP METHOD によって、メソッドの本体は削除されますが、 メソッドの指定 (シグニチャー) はサブジェクト・タイプの定義の一部として残されます。 メソッドの本体が除去された後、 メソッドの指定は ALTER TYPE DROP METHOD によってサブジェクト・タイプの定義から削除することができます。

除去するメソッド本体は、次のようないくつかの方法で指定することができます。

METHOD method-name
除去する特定のメソッドを指定します。 この方法は、対象となるタイプ type-name に、 method-name という名前のメソッド・インスタンスが 1 つしかないことが明らかな場合にのみ有効です。 この方法を用いる場合は、メソッドにいくつのパラメーターが定義されていても構いません。 タイプ type-name に、指定された名前のメソッドが存在しない場合は、 エラーが戻されます (SQLSTATE 42704)。 指定されたデータ・タイプに、そのメソッドの特定のインスタンスが複数存在する場合も、 エラーが戻されます (SQLSTATE 42854)。

METHOD method-name (data-type,...)
除去するメソッドを一意的に識別できるメソッド・シグニチャーを指定します。 メソッド選択のアルゴリズムは使用されません。

method-name
指定したタイプの中から、除去するメソッドのメソッド名を指定します。 指定する名前は、修飾なしの ID でなければなりません。

(data-type,...)
データ・タイプを指定します。 ここで指定されるデータ・タイプは、CREATE TYPE または ALTER TYPE ステートメントで、 メソッドの指定の相当する位置に指定されたデータ・タイプと一致していなければなりません。 データ・タイプの数とデータ・タイプを論理的に連結した値から、 除去する特定のメソッドが識別されます。

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)。

FOR type-name
指定したメソッドの除去を行うタイプを指定します。 ここで指定される名前は、 カタログにすでに記述されているタイプを示すものでなければなりません (SQLSTATE 42704)。 動的 SQL ステートメントでは、 CURRENT SCHEMA 特殊レジスターが、修飾子のないタイプ名の修飾子として使用されます。 静的 SQL ステートメントでは、QUALIFIER プリコンパイル / バインド・オプションによって、 修飾子のないタイプ名に修飾子が暗黙指定されます。

SPECIFIC METHOD specific-name
CREATE TYPE または ALTER TYPE ステートメントにおいてユーザーが指定した名前、 もしくはデフォルトで指定された名前を使用して、除去する特定のメソッドを識別します。 特定名 (specific-name) に修飾子が付いていない場合、動的 SQL ステートメントでは、 CURRENT SCHEMA 特殊レジスターが、修飾子のない特定名の修飾子として使用されます。 静的 SQL ステートメントでは、QUALIFIER プリコンパイル / バインド・オプションにより、 修飾子のない特定名に修飾子が暗黙指定されます。 specific-name に指定される名前は、メソッドの名前でなければなりません。 メソッド名ではない名前が指定された場合は、エラーになります (SQLSTATE 42704)。

メソッドに他のオブジェクトが従属している場合があります。 そのような場合は、メソッドを除去する前にそれらの従属関係をすべて取り除く必要があります (ただし、 そのメソッドが除去されると作動不能としてマークされるパッケージは例外です)。 そのような従属関係を持つメソッドを除去しようとすると、エラーが戻されます (SQLSTATE 42893)。

除去できる状態にあれば、メソッドは除去されます。

除去する特定のメソッドに従属しているパッケージは、 そのメソッドが除去されると、作動不能としてマークされます。 そのようなパッケージが暗黙的に再バインドされることはありません。 これらのパッケージは、BIND コマンドまたは REBIND コマンドを使用して再バインドするか、 あるいは PREP コマンドを使用して再作成する必要があります。 これらのコマンドについては、コマンド解説書 を参照してください。

NICKNAME nickname
除去するニックネームを指定します。 ニックネームは、カタログにリストされていなければなりません (SQLSTATE 42704)。 そのニックネームはデータベースから削除されます。

ニックネームに関連した列および索引に関するすべての情報が、カタログから削除されます。 ニックネームに従属した索引指定は除去されます。 ニックネームに従属したすべての視点に作動不能のマークが付けられます。 除去された索引指定または作動不能視点に従属したパッケージはすべて無効です。 ニックネームが参照するデータ・ソースは影響を受けません。

NODEGROUP nodegroup-name
除去するノード・グループを指定します。 nodegroup-name (ノード・グループ名) は、 カタログに記述されているノード・グループを指定していなければなりません (SQLSTATE 42704)。 これは、1 つの部分からなる名前です。

ノード・グループを除去すると、そのノード・グループに定義されている表スペースがすべて除去されます。 そのような表スペース内の表に対して従属関係がある既存のデータベース・オブジェクト (パッケージや参照制約など) は、 除去されるか、または無効になり (該当する場合)、従属する視点とトリガーは作動不能になります。

システム定義のノード・グループは除去できません (SQLSTATE 42832)。

現在データ再配布が行われているノード・グループに対して DROP NODEGROUP を発行すると、 DROP NODEGROUP 操作は失敗し、エラーが戻されます (SQLSTATE 55038)。 ただし、部分的に再配布されたノード・グループは除去できます。 ノード・グループは、REDISTRIBUTE NODEGROUP コマンドが完了するまで実行されなかった場合に、 部分的に再配布の状態になります。 これは、エラーまたは force application all コマンドによって割り込まれた場合に起こる可能性があります。 94

PACKAGE package-name
除去するパッケージを指定します。 package-name (パッケージ名) は、 カタログに記述されているパッケージを指定していなければなりません (SQLSTATE 42704)。 指定したパッケージが削除されます。 そのパッケージに対する特権もすべて削除されます。

PROCEDURE
除去するストアード・プロシージャーのインスタンスを指定します。 指定するプロシージャー・インスタンスは、 カタログに記述されたストアード・プロシージャーでなければなりません。

プロシージャー・インスタンスを指定する方法としては、次のようにいくつかの方法があります。

PROCEDURE procedure-name
特定のプロシージャーを指定します。この方法は、procedure-name で指定したプロシージャー・インスタンスがスキーマ内に 1 つしか存在しないことが明らかな場合にのみ有効です。 この方法で指定するプロシージャーには、パラメーターがいくつ定義されていても構いません。 指定したスキーマまたは暗黙のスキーマに該当する名前のプロシージャーが存在しない場合は、 エラーが戻されます (SQLSTATE 42704)。 動的 SQL ステートメントでは、CURRENT SCHEMA 特殊レジスターが、 修飾子のないオブジェクト名の修飾子として使用されます。 静的 SQL ステートメントでは、QUALIFIER プリコンパイル / バインド・オプションにより、 修飾子のないオブジェクト名の修飾子が暗黙指定されます。 指定したスキーマまたは暗黙のスキーマにこのプロシージャーの特定インスタンスが複数存在する場合は、 エラーが戻されます (SQLSTATE 42854)。

PROCEDURE procedure-name (data-type,...)
除去するプロシージャーを一意的に固有に識別するプロシージャー・シグニチャーを指定します。 プロシージャー選択のアルゴリズムは使用されません。

procedure-name
除去するプロシージャーのプロシージャー名を指定します。 動的 SQL ステートメントでは、CURRENT SCHEMA 特殊レジスターが、 修飾子のないオブジェクト名の修飾子として使用されます。 静的 SQL ステートメントでは、QUALIFIER プリコンパイル / バインド・オプションにより、 修飾子のないオブジェクト名の修飾子が暗黙指定されます。

(data-type,...)
データ・タイプを指定します。ここで指定されるデータ・タイプは、 CREATE PROCEDURE ステートメントの相当する位置に指定されたデータ・タイプと一致していなければなりません。 データ・タイプ (data-type) の数、およびデータ・タイプを論理的に連結した値を使用して、 除去する特定のプロシージャーが識別されます。

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)。

SPECIFIC PROCEDURE specific-name
プロシージャーの作成時にユーザーが指定した特定のプロシージャー名か、 デフォルト値として与えられたプロシージャー名を使用して、 除去する特定のストアード・プロシージャーを識別します。 動的 SQL ステートメントでは、CURRENT SCHEMA 特殊レジスターが、 修飾子のないオブジェクト名の修飾子として使用されます。 静的 SQL ステートメントでは、QUALIFIER プリコンパイル / バインド・オプションにより、 修飾子のないオブジェクト名の修飾子が暗黙指定されます。 specific-name に指定される名前は、 指定したスキーマまたは暗黙のスキーマに含まれる特定プロシージャーのインスタンスを識別するものでなければなりません。 それ以外の名前が指定された場合は、エラーが戻されます (SQLSTATE 42704)。

SCHEMA schema-name RESTRICT
除去するスキーマを指定します。 schema-name に指定するスキーマ名は、 カタログに記述されているスキーマを識別するものでなければなりません (SQLSTATE 42704)。 RESTRICT キーワードは、 データベースから削除するスキーマとして指定したスキーマにオブジェクトを定義できないという規則を課します (SQLSTATE 42893)。

SERVER server-name
カタログから定義を除去するデータ・ソースを指定します。 server-name に指定するサーバー名は、 カタログに記述されているデータ・ソースを識別するものでなければなりません (SQLSTATE 42704)。 そのデータ・ソースの定義は削除されます。

データ・ソースに常駐する表および視点のニックネームはすべて除去されます。 また、これらのニックネームに従属する索引指定もすべて除去されます。 除去されたサーバー定義に従属するユーザー定義関数マッピング、 ユーザー定義タイプ・マッピング、およびユーザー・マッピングもすべて除去されます。 除去されたサーバー定義、関数マッピング、ニックネーム、 および索引指定に依存するパッケージはすべて無効になります。

TABLE table-name
除去する基礎表、宣言された一時表、または要約表を指定します。 table-name に指定される表名は、 カタログに記述されている基礎表や要約表を識別する名前でなければなりません。 また、宣言された一時表を指定する場合は、スキーマ名 SESSION によって修飾された、 アプリケーションに存在する一時表の名前を table-name に指定しなければなりません (SQLSTATE 42704)。 タイプ付き表の副表は、それぞれスーパー表に従属しています。 ですから、スーパー表を除去する前には、副表をすべて除去する必要があります (SQLSTATE 42893)。 指定された表はデータベースから削除されます。

その表を参照するすべての索引、基本キー、外部キー、検査制約、および要約表は除去されます。 その表を参照するすべての視点およびトリガー 95 は、作動不能になります。 除去されたオブジェクトまたは作動不能としてマークされたオブジェクトに従属するすべてのパッケージは無効になります。 これには、副表よりも上位の階層であるスーパー表に従属するパッケージが含まれます。 参照列の中で、除去された表を参照の効力範囲として定義したものがあれば、 参照範囲は無効になります。

宣言された一時表にパッケージが従属することはありません。 したがって、宣言された一時表が除去されてもパッケージが無効になることはありません。

DATALINK 列でリンクされたファイルはすべてリンク解除されます。 リンク解除操作は非同期で実行されるので、 ファイルを他の操作ですぐに使用することはできない場合があります。

表階層から副表を除去すると、その副表に関連した列はアクセスできなくなります (ただし、 列の数や行のサイズの制限に関しては考慮されます)。 副表を除去すると、スーパー表から副表の列がすべて削除されてしまいます。 その結果、スーパー表に定義したトリガーや参照保全制約が活動化することがあります。

宣言された一時表が、現在の作業単位または保管点が活動状態になる前に作成されたものである場合は、 その一時表を除去すると機能上で表が除去されてしまうため、 アプリケーションからその一時表にアクセスすることができなくなります。 しかし、表スペースでは、作業単位がコミットされるまで、あるいは保管点が終了するまで、 依然としてこの表が予約された状態にあるため、USER TEMPORARY 表スペースを除去したり、 USER TEMPORARY 表スペースのノードグループを再配布することはできません。 宣言された一時表が除去されると、DROP がコミットされたかロールバックされたかにかかわらず、 表に含まれていたデータはすべて破棄されます。

TABLE HIERARCHY root-table-name
除去するタイプ付き表階層を指定します。 root-table-name で指定するタイプ付き表は、 タイプ付き表階層のルート表でなければなりません (SQLSTATE 428DR)。 root-table-name で指定するタイプ付き表とその表のすべての副表が、 データベースから削除されます。

除去された表を参照するすべての索引、要約表、基本キー、外部キー、および検査制約は除去されます。 除去された表を参照するすべての視点およびトリガーは、作動不能になります。 除去されたオブジェクトまたは作動不能としてマークされたオブジェクトに従属するすべてのパッケージは無効になります。 参照列の中で、除去された表を参照の効力範囲として定義したものがあれば、参照範囲は無効になります。

DATALINK 列でリンクされたファイルはすべてリンク解除されます。 リンク解除操作は非同期で実行されるので、 ファイルを他の操作ですぐに使用することはできないかもしれません。

単一の副表を除去する場合とは違い、表階層を除去しても、 階層内にある任意の表の削除トリガーが活動化したり、 削除された行が記録されたりすることはありません。

TABLESPACE または TABLESPACES tablespace-name
除去される表スペースを指定します。 tablespace-name (表スペース名) は、 カタログに記述されている表スペースを指定していなければなりません (SQLSTATE 42704)。 これは、1 つの部分からなる名前です。

表の一部が除去される表スペースに保管され、 1 つかそれ以上の部分が除去されない別の表スペースに保管されている場合、 この表スペースは除去されません (SQLSTATE 55024)。 (そのような表を前もって除去する必要があります。) システム表スペースは除去できません (SQLSTATE 42832)。 データベースに一時表スペースが 1 つしか存在しない場合は、 SYSTEM TEMPORARY 表スペースを除去することはできません。 宣言された一時表が作成されている USER TEMPORARY 表スペースは除去できません (SQLSTATE 55039)。 USER TEMPORARY 表スペースでは、宣言された一時表が削除されていても、 DROP TABLE を含む作業単位がコミットされるまでは、その表スペースは使用中とみなされます。

表スペースを除去すると、その表スペースに定義されているオブジェクトがすべて除去されます。 パッケージや参照制約などのその表スペースに従属する既存のすべてのデータベース・オブジェクトは除去されるか、 または無効になり、従属している視点やトリガーは作動不能になります。

ユーザーによって作成されたコンテナーは削除されません。 CREATE TABLESPACE でデータベース・マネージャーによって作成されたコンテナー名の パスに含まれているディレクトリーは、いずれも削除されます。 データベース・ディレクトリーから下にあるすべてのコンテナーは削除されます。 SMS 表スペースでは、 すべての接続が切断されるか DEACTIVATE DATABASE コマンドが出されるまで削除は行われません。

TRANSFORM ALL FOR type-name
ユーザー定義データ・タイプ type-name に定義されたすべての変形グループが除去されることを示します。 これらのグループで参照される変形関数は除去されません。 動的 SQL ステートメントでは、CURRENT SCHEMA 特殊レジスターが、 修飾子のないオブジェクト名の修飾子として使用されます。 静的 SQL ステートメントでは、QUALIFIER プリコンパイル / バインド・オプションにより、 修飾子のないオブジェクト名の修飾子が暗黙指定されます。 type-name に指定されるタイプ名は、 カタログに記述されているユーザー定義タイプを識別するものでなければなりません (SQLSTATE 42704)。

type-name に定義されている変形が存在しない場合は、エラーが戻されます (SQLSTATE 42740)。

DROP TRANSFORM は、CREATE TRANSFORM の逆の処理を行います。 DROP TRANSFORM は、 指定されたデータ・タイプで特定のグループに関連付けられた変形関数を未定義の状態にします。 これらのグループに関連付けられていた関数は引き続き存在しており、 明示的に呼び出すことができますが、 これらの関数にはもはや変形プロパティーは含まれていないので、 ホスト言語環境で値を交換するためにこれらの関数が暗黙的に呼び出されることはありません。

変形グループの中に SQL 以外の言語で書かれたユーザー定義関数 (またはメソッド) があり、 その関数が、ユーザー定義タイプ type-name に定義されたそのグループの変形関数のいずれかに従属している場合、 その変形グループは除去されません (SQLSTATE 42893)。 このようなユーザー定義関数が従属している変形関数は、 type-name で定義された参照先の変形グループに関連付けられています。 そのため、パッケージが属している変形関数が、指定された変形グループと関連付けられていると、 そのパッケージは作動不能としてマークされてしまいます。

TRANSFORMS group-name FOR type-name
ユーザーが定義したデータ・タイプ type-name から、 指定した変形グループが除去されることを示します。 このグループで参照される変形関数は除去されません。 動的 SQL ステートメントでは、CURRENT SCHEMA 特殊レジスターが、 修飾子のないオブジェクト名の修飾子として使用されます。 静的 SQL ステートメントでは、QUALIFIER プリコンパイル / バインド・オプションにより、 修飾子のないオブジェクト名の修飾子が暗黙指定されます。 type-name に指定されるタイプ名は、 カタログに記述されているユーザー定義タイプを識別するものでなければなりません (SQLSTATE 42704)。 また、group-name には、 type-name に存在している変形グループを指定しなければなりません。

TRIGGER trigger-name
除去するトリガーを指定します。 trigger-name (トリガー名) は、 カタログに記述されているトリガーを指定していなければなりません (SQLSTATE 42704)。 指定したトリガーが削除されます。

トリガーを除去すると、特定のパッケージが無効としてマークされます。 トリガーの作成 (同じ規則に従う) についての、 CREATE TRIGGERの "注" を参照してください。

TYPE type-name
除去するユーザー定義タイプを指定します。 動的 SQL ステートメントでは、CURRENT SCHEMA 特殊レジスターは、 修飾子のないオブジェクト名の修飾子として使用されます。 静的 SQL ステートメントでは、QUALIFIER プリコンパイル / バインド・オプションにより、 修飾子のないオブジェクト名の修飾子が暗黙指定されます。 構造タイプでは、関連した参照タイプも除去されます。 type-name (タイプ名) は、 カタログに記述されているユーザー定義タイプを指定していなければなりません。 DISTINCT 文節が指定されている場合、type-name (タイプ名) は、 カタログに記述されている特殊タイプを指定していなければなりません。 以下の場合、このタイプは除去されません (SQLSTATE 42893)。

除去されるタイプを使用する関数について: ユーザー定義タイプが除去可能な場合、 除去するそのタイプ (または除去するタイプを参照するもの) の パラメーターまたは戻り値が含まれているすべての関数 (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 が失敗する場合があります。

TYPE MAPPING type-mapping-name
除去するユーザー定義のデータ・タイプ・マッピングを指定します。 type-mapping-name (タイプ・マッピング名) は、 カタログに記述されているデータ・タイプ・マッピングを指定していなければなりません (SQLSTATE 42704)。 指定したデータ・タイプ・マッピングがデータベースから削除されます。

その他に除去されるオブジェクトはありません。

USER MAPPING FOR authorization-name | USER SERVER server-name
除去するユーザー・マッピングを指定します。 このマッピングは、連合データベースにアクセスするために使う許可名を、 データ・ソースにアクセスするために使う許可名に関連付けます。 これら 2 つのうち最初の許可名は、authorization-name で指定されるか、 または特殊レジスター USER によって参照されます。 server-name は、 アクセスするのに 2 番目の許可名を使用するデータ・ソースを指定します。

authorization-name は、 カタログにリストされていなければなりません (SQLSTATE 42704)。 server-name (サーバー名) は、 カタログに記述されているデータ・ソースを指定していなければなりません (SQLSTATE 42704)。 ユーザー・マッピングが削除されます。

その他に除去されるオブジェクトはありません。

VIEW view-name
削除する視点を指定します。view-name (視点名) は、 カタログに記述されている視点を指定していなければなりません (SQLSTATE 42704)。 タイプ付き表の副視点は、それぞれスーパー表に従属しています。 ですから、スーパー視点を除去する前に、 副視点をすべて除去する必要があります (SQLSTATE 42893)。

指定した視点が削除されます。 直接的または間接的にその視点に従属する視点またはトリガーの定義は、作動不能としてマークされます。 作動不能というマークが付いた表に従属する要約表はすべて除去されます。 除去された視点または作動不能としてマークされた視点に従属するパッケージはいずれも無効になります。 これには、副視点よりも上位の階層であるスーパー視点に従属するパッケージが含まれます。 参照列の中で、除去された視点を参照の効力範囲として定義したものがあれば、参照範囲は無効になります。

VIEW HIERARCHY root-view-name
除去するタイプ付き視点階層を指定します。 root-view-name で指定するタイプ付き視点は、 タイプ付き視点階層のルート視点でなければなりません (SQLSTATE 428DR)。 root-view-name で指定するタイプ付き視点とその視点のすべての副表が、 データベースから削除されます。

直接的または間接的に除去された視点に従属する視点またはトリガーの定義は、 作動不能としてマークされます。 除去された視点やトリガー、 または作動不能としてマークされた視点やトリガーに従属するパッケージはいずれも、無効になります。 参照列の中で、除去された視点や作動不能とマークされた視点を参照の効力範囲として定義したものがあれば、 参照範囲は無効になります。

WRAPPER wrapper-name
除去するラッパーを指定します。 wrapper-name (ラッパー名) は、 カタログに記述されているラッパーを指定していなければなりません (SQLSTATE 42704)。 そのラッパーは削除されます。

そのラッパーに従属するすべてのサーバー定義、ユーザー定義関数マッピング、 およびユーザー定義データ・タイプ・マッピングは除去されます。 除去されたサーバー定義に従属するユーザー定義関数マッピング、ニックネーム、 ユーザー定義データ・タイプ・マッピング、およびユーザー・マッピングもすべて除去されます。 除去されたニックネームに従属する索引指定はすべて除去され、 こうしたニックネームに従属する視点はすべて、作動不能としてマークが付けられます。 除去されたオブジェクトと作動不能視点に従属するすべてのパッケージは無効になります。

規則

従属関係: 表 27 は、 オブジェクトの相互間の従属関係を示します。 96 このリストには、以下の 4 つの異なるタイプの従属関係が示されています。

R
制限 (Restrict) を意味します。 従属オブジェクトが存在する限り、その基礎となるオブジェクトは除去できません。

C
カスケード (Cascade) を意味します。 基礎となるオブジェクトを除去すると、その従属オブジェクトも同時に除去されます。 ただし、その従属オブジェクトにさらに他のオブジェクトに対する制限 (R) 従属関係があり、 それによってその従属オブジェクトを削除できない場合には、 基礎となるオブジェクトの除去は失敗します。

X
作動不能 (Inoperative) を意味します。 基礎となるオブジェクトを除去すると、その従属オブジェクトは作動不能になります。 ユーザーが何らかの明示的な処置を取るまで、それは作動不能のままになります。

A
自動無効化 / 再有効化 (Automatic Invalidation/Revalidation) を意味します。 基礎となるオブジェクトを除去すると、従属オブジェクトは無効になります。 データベース・マネージャーは、無効になったオブジェクトを再度有効にしようとします。

DROP ステートメントのパラメーターおよびオブジェクトには、 結果的にブランク行または列になるため、表 27 に示されていないものもあります。


表 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

1
この従属関係は、これらの制約、トリガー、 または区分化キーを持つ表に従属することによって、暗黙的に決まります。

2
パッケージに、視点に影響を与える INSERT、UPDATE、または DELETE ステートメントが含まれている場合、 そのパッケージは視点の基礎表に対して挿入、更新、または削除の操作を行うことになります。 UPDATE の場合、パッケージは UPDATE によって修正される基礎表の各列ごとに更新操作を実行します。

タイプ付き視点に対して操作を行うステートメントがパッケージに含まれている場合、 同じ視点階層内で視点を作成したり除去したりすると、パッケージが無効になります。

3
パッケージ、要約表、視点、トリガーが別名を使用する場合、その別名と、 その別名が参照するオブジェクトの両方に従属することになります。 別名が連鎖している場合、その連鎖の中の別名ごとに従属関係が作成されます。

別名自体は、どのような従属関係も持ちません。 存在していないオブジェクトに対しても、別名を定義できます。

4
あるユーザー定義タイプ T を別のユーザー定義タイプ B に従属させるには、 T が以下の条件を満たしていなければなりません。

5
データ・タイプを除去すると、その効果がカスケードして、 パラメーターや結果タイプとしてそのデータ・タイプを使用する関数やメソッド、 そしてそのデータ・タイプで定義されているメソッドも除去されることになります。 それらの関数やメソッドが互いに依存していても、 そのことがそれらの関数やメソッドの除去を防ぐことにはなりません。 ただし、本体でそのデータ・タイプを使用している関数やメソッドに対しては、 制約セマンティクスが適用されます。

6
表スペースまたは表スペースのリストを除去すると、 指定した表スペース内に完全に含まれているすべての表やリストが除去されることになります。 ただし、表が複数の表スペース (異なる表スペース内の索引または長形式列) にわたり、 そうした表スペースが除去されるリストにない場合、 これらの表スペースは表が存在する限りは除去できません。

7
従属関数が SOURCE 文節内の基本関数の名前である場合、 その関数は別の特定の関数に従属します。 また、従属のルーチンが SQL で書かれており、その本体で基本のルーチンを使用する場合も、 関数やメソッドは別の特定の関数やメソッドに従属することができます。 加えて、構造タイプのパラメーターや戻りタイプをもつ外部のメソッドや関数も、 1 つまたは複数の変形関数に従属することができます。

8
要約表が除去されたり、視点が作動不能になるのは、SELECT 特権がない場合だけです。 作動不能にされた視点がタイプ付き視点階層に含まれていれば、その副視点もすべて作動不能になります。

9
パッケージに、表 T に影響を与える INSERT、UPDATE、または DELETE ステートメントが含まれている場合、 そのパッケージは T に対して挿入、更新、または削除の操作を行うことになります。 UPDATE の場合、パッケージは UPDATE によって修正される T の各列ごとに更新操作を実行します。

タイプ付き表に対して操作を行うステートメントがパッケージに含まれている場合、 同じ表階層内で表を作成したり除去したりすると、パッケージが無効になります。

10
列に対する特権を個々に取り消すことはできないので、列レベルでの従属関係は存在しません。

パッケージ、トリガー、または視点の FROM 文節で OUTER(Z) が使用されている場合、 Z のすべての副表または副視点で SELECT 特権に対する従属関係が存在します。 同じように、パッケージ、トリガー、または視点で DEREF(Y) が使用されていて、 YZ という表または視点をターゲットとする参照タイプである場合、  Z のすべての副表または副視点で SELECT 特権に対する従属関係が存在します。

11
要約表は、基礎表、あるいは表定義の全選択で指定された表に従属しています。

カスケードのセマンティクスが、従属する要約表に適用されます。

副表はスーパー表に従属しており、この従属関係はルート表にまで及びます。 従属するすべての副表が除去されるまで、スーパー表は除去できません。

12
TYPE 述部またはサブタイプ処理の式 (TREAT expression AS data-type) を使用した結果、 パッケージは構造タイプに従属することができます。 パッケージは、TYPE 述部の右辺、 または TREAT 式の右辺で指定した構造タイプすべてと従属関係にあります。 構造タイプを除去したり作成したりして、パッケージと従属関係にあるサブタイプを変更すると、 ステートメントが無効になる場合があります。

13
あるタイプが検査制約またはトリガーで使用されている場合、 検査制約またはトリガーはこのタイプに従属する関係にあります。 検査制約またはトリガーの TYPE 述部で使用される、 構造タイプのサブタイプに従属しません。

14
あるタイプが視点定義で使用されている場合、 視点はこのタイプに従属する関係にあります (タイプ付き視点のタイプも含まれます)。 視点定義内の TYPE 述部で使用される、構造タイプのサブタイプに従属しません。

15
副視点はスーパー視点に従属しており、この従属関係はルート視点にまで及びます。 従属するすべての副視点が除去されるまで、スーパー視点は除去できません。 視点の従属関係の詳細については、 16 を参照してください。

16
トリガーまたは視点は 参照解除操作または DEREF 関数のターゲット表やターゲット視点にも従属しています。 FROM 文節のトリガーまたは視点で OUTER(Z) を含むものは、 トリガーまたは視点が作成された時点に存在した Z の副表または副視点すべてに対して従属関係にあります。

17
タイプ付き視点は固有索引が存在しているかどうかに依存していることがあり、 それによってオブジェクト識別子列が固有なものにすることができます。

18
表はユーザー定義データ・タイプ (特殊タイプまたは構造タイプ) に従属している場合があり、 それには以下の理由があります。

19
サーバーを除去すると、連鎖的に、 そのネーム・サーバーに作成した関数マッピングとタイプ・マッピングが除去されます。

20
複数区分のノードグループにある表に対して区分化キーが定義されている場合、 この区分化キーは必須です。

21
従属している OLE DB 表関数に "R" 従属オブジェクト (DROP FUNCTION を参照) が含まれている場合は、 サーバーを除去できません。

22
SQL 関数またはメソッドは、 その本体によって参照されるオブジェクトに従属することができます。

23
type-name T の タイプ TA の属性 A が除去されると、 以下の DROP ステートメントが実際に実行されます。

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()

24
次のような場合に、表はユーザー定義による構造データ・タイプの属性に従属することがあります。

  1. 表が、type-name またはそのサブタイプのいずれかに基づくタイプ付き表である。
  2. 表に、type-name を直接または間接的に参照するタイプの列が含まれている。

25
定義された関数に SELECT WITH GRANT OPTION 特権がなくなると、 SQL 関数の本体で使用される表または視点に対する SELECT 特権の REVOKE により、 特権を失った関数の除去が試行されます。 これらの関数が視点やトリガーで使用されている場合は、 これを除去することはできないので、結果として REVOKE が制約されます。 それ以外の場合は、REVOKE がカスケードしてそれらの関数は除去されます。

例 1: 表 TDEPT を除去します。

   DROP TABLE TDEPT

例 2: 視点 VDEPT を除去します。

   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


脚注:

93
これには、CREATE TRIGGER ステートメントの ON 文節で参照されている表と、 トリガー SQL ステートメントで参照されているすべての表が含まれます。

94
部分的に再配布されたノード・グループの場合は、 SYSCAT.NODEGROUPS カタログ内の REBALANCE_PMAP_ID が -1 になりません。

95
これには、CREATE TRIGGER ステートメントの ON 文節で参照されている表と、 トリガー SQL ステートメントで参照されているすべての表が含まれます。

96
カタログには明示的に記録されない従属関係があります。 たとえば、パッケージがどの制約に対して従属しているかは記録されません。


[ ページのトップ | 前ページ | 次ページ | 目次 | 索引 ]