トリガを削除します。
Synopsis
DROP TRIGGER name FROM table
引数
name 削除するトリガの名前。
FROM table オプション — トリガを削除するテーブル。FROM 節を指定しない場合は、対象スキーマ全体で、指定されたトリガが検索されます。
概要
DROP TRIGGER 文はトリガを削除します。
DROP TRIGGER コマンドは特権を必要とする操作です。DROP TRIGGER を使用する前に、%DROP_TRIGGER 管理者権限を持っている必要があります。特権がない場合は、SQLCODE –99 エラー (特権違反) が返されます。適切な特権を持っている場合は、GRANT コマンドを使用して %DROP_TRIGGER 特権を割り当てることができます。埋め込み SQL では、以下のように $SYSTEM.Security.Login メソッドを使用して適切な特権を持ったユーザとしてログインできます。
   DO $SYSTEM.Security.Login("_SYSTEM","SYS")
   &sql(      )
DROP TRIGGER 文は、table に対してテーブル・レベルのロックを取得します。これにより、他のプロセスはこのテーブルのデータを変更できなくなります。このロックは、DROP TRIGGER 操作が終了すると自動的に解除されます。
FROM 節
トリガとそのテーブルは同じスキーマに存在している必要があります。トリガ名は、修飾、未修飾のどちらでもかまいません。未修飾の場合、既定では、トリガのスキーマは、FROM 節で指定されたテーブルのスキーマになります。FROM 節が存在しないか、テーブル名が未修飾の場合は、トリガのスキーマは既定でシステムの既定スキーマになります。トリガ名とテーブル名が両方とも修飾されている場合は、両方が同じスキーマを指定している必要があります。そうでない場合、Caché は SQLCODE -366 エラーを発行します。
Caché SQL では、トリガ名はスキーマ内の特定のテーブルに関して一意である必要があります。したがって、1 つのスキーマ内に同じ名前のトリガが複数存在する場合があります。オプションの FROM 節は、削除するトリガを決めるために以下のように使用されます。
以下の例は、既定スキーマ (通常は SQLUser) 内で任意のテーブルに関連する Trigger_1 という名前のトリガを削除します。
DROP TRIGGER Trigger_1
以下の例は、A スキーマ内で任意のテーブルに関連する Trigger_2 というトリガを削除します。
DROP TRIGGER A.Trigger_2
以下の例は、既定スキーマ内で Patient テーブルに関連する Trigger_3 というトリガを削除します。Trigger_3 という名前のトリガが見つかっても、Patient と関連していなければ、Caché は SQLCODE -363 エラーを発行します。
DROP TRIGGER Trigger_3 FROM Patient
以下の例はすべて、Test スキーマ内で Patient テーブルに関連する Trigger_4 というトリガを削除します。
DROP TRIGGER Test.Trigger_4 FROM Patient
DROP TRIGGER Trigger_4 FROM Test.Patient
DROP TRIGGER Test.Trigger_4 FROM Test.Patient
関連項目
CREATE TRIGGER トリガ動作 GRANT