スケーラブルデータベースサーバ HiRDB Version 8 SQLリファレンス
DROP 〔PUBLIC 〕PROCEDURE(手続き削除,パブリック手続き削除)
機能
手続きを削除します。
また,すべてのユーザから,認可識別子でルーチン識別子を修飾しなくても使用できる手続き(パブリック手続き)を削除します。
(1)DROP PROCEDURE(手続き削除)
DROP PROCEDURE(手続き削除)について説明します。
使用権限
- 手続きの所有者
- 自分が所有する手続きを削除できます。
- DBA権限を持つユーザ
- 他ユーザの所有する手続きを削除できます。
形式
DROP PROCEDURE 〔認可識別子.〕ルーチン識別子
〔WITH PROGRAM〕
|
オペランド
- 認可識別子
- 削除する手続きの所有者の認可識別子を指定します。
- 省略した場合,実行するユーザの認可識別子を仮定します。
- ルーチン識別子
- 削除する手続きのルーチンの名前を指定します。
手続きを削除する場合,その手続きを使用する関数,手続き,及びトリガの有効なSQLオブジェクトがあれば,そのSQLオブジェクトを無効にするときに指定します。
WITH PROGRAMを省略した場合,その手続きを使用する関数,手続き,及びトリガの有効なSQLオブジェクトがあるときは,その手続きは削除できません。
共通規則
- 指定した手続きを呼び出すSQLルーチン,及び抽象データ型内のルーチン,トリガがある場合は削除しません。
- 抽象データ型内で定義した手続きは削除できません。
- 次のような場合,Java手続き中からDROP PROCEDUREは実行できません。
- 実行中のSQLオブジェクトが無効になる場合,又は削除される場合
- 実行中のJava手続きが削除される場合
留意事項
- DROP PROCEDUREは,OLTP下のX/Openに従ったUAPから指定できません。
- WITH PROGRAMを指定して関数,手続き,及びトリガの有効なSQLオブジェクトを無効にした場合,ディクショナリ表SQL_ROUTINE_RESOURCES中の無効となった関数,手続き,及びトリガの行は削除されます。
- WITH PROGRAMを指定して無効にした関数,手続き,及びトリガのSQLオブジェクトを実行するためには,ALTER ROUTINE又はALTER PROCEDUREを実行して関数,手続き,及びトリガのSQLオブジェクトを再作成しておく必要があります。
- WITH PROGRAMを指定して無効にしたトリガのSQLオブジェクトを実行するためには,次のどちらかの操作をする必要があります。
- 手続きを定義し直して,ALTER TRIGGER又はALTER ROUTINEを実行してトリガのSQLオブジェクトを再作成する。
- 無効にしたトリガをDROP TRIGGERで削除してから,削除した手続きを使用しないようにCREATE TRIGGERでトリガを再定義します。ただし,次のすべての条件を満たすトリガがある場合は,それらもすべてDROP TRIGGERで削除し,定義していた順にCREATE TRIGGERで再定義しないと,トリガ動作の実行順序が変わります。
(条件)
・無効にしたトリガよりも定義したのが後である。
・無効にしたトリガと定義した表が同じである。
・無効にしたトリガとトリガ契機(INSERT,UPDATE,又はDELETE)が同じである(ただし,UPDATEの場合は,トリガ契機列の指定の有無,及び内容に関係なく同じとみなされます)。
・無効にしたトリガとトリガ動作時期(BEFORE又はAFTER)が同じである。
・無効にしたトリガとトリガの動作する単位(行単位又は文単位)が同じである。
- ルーチン識別子には,トリガ動作手続きの識別子は指定できません。トリガを削除する場合には,DROP TRIGGERを実行してください。
(2)DROP PUBLIC PROCEDURE(パブリック手続き削除)
DROP PUBLIC PROCEDURE(パブリック手続き削除)について説明します。
使用権限
- 手続きの所有者
- 自分が所有する(定義した)パブリック手続きを削除できます。
- DBA権限を持つユーザ
- 他ユーザの所有するパブリック手続きを削除できます。
形式
DROP PUBLIC PROCEDURE ルーチン識別子
〔WITH PROGRAM〕
|
オペランド
PUBLIC,ルーチン識別子以外の説明については,「3. DROP 〔PUBLIC 〕PROCEDURE(手続き削除,パブリック手続き削除)」の「(1) DROP PROCEDURE(手続き削除)」を参照してください。
- PUBLIC
パブリック手続きを削除する場合に指定します。
- ルーチン識別子
削除するパブリック手続きのルーチンの名前を指定します。
共通規則
- 次のような場合,Java手続き中からDROP PUBLIC PROCEDUREは実行できません。
- 実行中のSQLオブジェクトが無効になる場合,又は削除される場合
- 実行中のJava手続きが削除される場合
- その他の共通規則は,「3. DROP 〔PUBLIC 〕PROCEDURE(手続き削除,パブリック手続き削除)」の「(1) DROP PROCEDURE(手続き削除)」と同じです。
留意事項
- DROP PUBLIC PROCEDUREは,OLTP下のX/Openに従ったUAPから指定できません。
- その他の留意事項は,「3. DROP 〔PUBLIC 〕PROCEDURE(手続き削除,パブリック手続き削除)」の「(1) DROP PROCEDURE(手続き削除)」と同じです。
All Rights Reserved. Copyright (C) 2006, 2016, Hitachi, Ltd.