DROP LIBRARY

DROP LIBRARYは外部プロシージャ・ライブラリを削除するSQL文である。

外部プロシージャ・ライブラリとは、オペレーティング・システムの共有ライブラリに関連付けられたスキーマ・オブジェクトである。オペレーティング・システムの共有ライブラリとは、Linuxの共有オブジェクト(.so)やWindowsのダイナミック・リンク・ライブラリ(DLL)のことである。

外部プロシージャ・ライブラリを作成すると、ストアド・プロシージャやストアド・ファンクションから共有オブジェクトやDLLの関数を呼び出すことができる。外部プロシージャ・ライブラリを削除すると、それを参照するストアド・プロシージャやストアド・ファンクションを利用できなくなる。

ライブラリを削除する

DROP LIBRARY文の構文は次のとおり。

DROP LIBRARY name
name
削除する外部プロシージャ・ライブラリの名前を指定する。

外部プロシージャ・ライブラリを削除するSQL文の例を次に示す。

DROP LIBRARY example_lib;

必要な権限

外部プロシージャ・ライブラリを削除するには、DROP ANY LIBRARY システム権限が必要である。

外部プロシージャ・ライブラリを削除する権限をユーザー tsuka に付与するには、次のSQL文を実行する。

GRANT DROP ANY LIBRARY TO tsuka;

トランザクション

SQLはデータ定義言語(DDL)、データ操作言語(DML)、データ制御言語(DCL)およびトランザクション制御言語(TCL)の4種類に分類される。DROP LIBRARY文はDDL(Data Definition Language)の一種である。

DDLに対するトランザクションの扱いは、リレーショナル・データベース管理システムによって異なる。Oracleデータベースの場合、DDL文を実行するとトランザクションは暗黙的にコミットされ、ロールバックできない。

DDLのトランザクション
RDBMS 直前のトランザクション DDL自体のロールバック
Oracle Database 自動的にコミットされる ロールバックできない
MariaDB 自動的にコミットされる ロールバックできない
MySQL 自動的にコミットされる ロールバックできない
PostgreSQL 自動的にコミットされない ロールバックできる
Microsoft SQL Server 自動的にコミットされない ロールバックできる

PL/SQL

PL/SQLでもDROP LIBRARY文を使用できる。構文はSQLと同じである。

DROP LIBRARY example_lib;

ライブラリに関するSQL

外部プロシージャ・ライブラリに関するSQL文には、次のものがある。

外部プロシージャ・ライブラリに関するSQL
SQL 説明
CREATE LIBRARY 外部プロシージャ・ライブラリを作成する。
ALTER LIBRARY 外部プロシージャ・ライブラリを変更する。
DROP LIBRARY 外部プロシージャ・ライブラリを削除する。

関連項目