3.31.1 DROP VIEW(ビュー表の削除)
(1) 機能
ビュー表を削除します。
(2) 使用権限
- 指定するビュー表の所有者
-
自分が所有するビュー表を削除できます。
- DBA権限を持つユーザ
-
他ユーザの所有するビュー表を削除できます。
(3) 形式
DROP VIEW 〔認可識別子.〕表識別子〔WITH PROGRAM〕
(4) オペランド
(a) 〔認可識別子.〕表識別子〔WITH PROGRAM〕
- 認可識別子
-
ビュー表を所有するユーザの認可識別子を指定します。省略した場合,実行するユーザの認可識別子を仮定します。
- 表識別子
-
削除するビュー表の名前を指定します。
- WITH PROGRAM
-
ビュー表を削除する場合,そのビュー表を使用する手続き,及びトリガの有効なSQLオブジェクトを無効にしたいときに指定します。
WITH PROGRAMを省略した場合,そのビュー表を使用する手続き,及びトリガの有効なSQLオブジェクトがあると,そのビュー表は削除できません。
(5) 共通規則
-
ビュー表を削除すると,そのビュー表に対するアクセス権限,及び削除するビュー表から定義したビュー表も削除されます。
-
実行中のSQLオブジェクトが無効になる場合,Java手続き中からDROP VIEWは実行できません。
(6) 留意事項
-
DROP VIEWは,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)が同じである。
・無効にしたトリガとトリガの動作する単位(行単位又は文単位)が同じである。
-
(7) 使用例
在庫表(ZAIKO)から定義したビュー表(VZAIKO1)を削除します。
DROP VIEW VZAIKO1