ALTER SYNONYM

ALTER SYNONYM は既存のシノニムを変更するSQL文である。無効なシノニムをコンパイルして、有効化することができる。

コンパイル

シノニムの参照先であるオブジェクトを変更または削除すると、そのシノニムは無効になる。無効となった要因を取り除いてから ALTER SYNONYM でシノニムをコンパイルすると、そのシノニムが有効になる。

自分のスキーマ内にあるプライベート・シノニムをコンパイルする。

ALTER SYNONYM example COMPILE

他人のスキーマ内にあるプライベート・シノニムをコンパイルする。

ALTER SYNONYM tsuka.example COMPILE

パブリック・シノニムをコンパイルする。

ALTER PUBLIC SYNONYM example COMPILE

権限

自分のスキーマに含まれるプライベート・シノニムを変更するには、CREATE SYNONYM システム権限が必要である。

他人のスキーマに含まれるプライベート・シノニムを変更するには、CREATE ANY SYNONYM システム権限と DROP ANY SYNONYM システム権限が必要である。

パブリック・シノニムを変更するには、CREATE PUBLIC SYNONYM システム権限と DROP PUBLIC SYNONYM システム権限が必要である。

シノニムの変更に必要な権限
シノニムの種類 スキーマ 必要なシステム権限
プライベート・シノニム 自分 CREATE SYNONYM
他人 CREATE ANY SYNONYM
DROP ANY SYNONYM
パブリック・シノニム - CREATE PUBLIC SYNONYM
DROP PUBLIC SYNONYM

無効なシノニム

シノニムが有効か無効かを判断するには ALL_OBJECTS、DBA_OBJECTS または USER_OBJECTS データディクショナリビューのSTATUS列を問い合わせる。

SELECT STATUS FROM USER_OBJECTS WHERE OBJECT_TYPE = 'SYNONYM' AND OBJECT_NAME = 'EXAMPLE'

無効なシノニムを調べるには、ALL_OBJECTS、DBA_OBJECTS または USER_OBJECTS データディクショナリビューのSTATUS列が INVALID の行をを問い合わせる。

SELECT OBJECT_NAME FROM USER_OBJECTS WHERE OBJECT_TYPE = 'SYNONYM' AND STATUS = 'INVALID'

参照先の変更

ALTER SYNONYMでシノニムの参照先を変更することはできない。シノニムの参照先を変更するには、DROP SYNONYMでシノニムを削除してから、CREATE SYNONYMでシノニムを作成し直す。

シノニムに関するSQL

シノニムに関するSQL文には次のものがある。

シノニムに関するSQL
SQL 説明
CREATE SYNONYM シノニムを作成する。
ALTER SYNONYM シノニムを変更する。
DROP SYNONYM シノニムを削除する。

シノニムに関するシステム権限

シノニムに関するシステム権限には次のものがある。

シノニムに関するシステム権限
システム権限 説明
CREATE SYNONYM 自分のスキーマにプライベート・シノニムを作成できる。
CREATE ANY SYNONYM 任意のスキーマにプライベート・シノニムを作成できる。
CREATE PUBLIC SYNONYM パブリック・シノニムを作成できる。
DROP ANY SYNONYM 任意のスキーマにあるプライベート・シノニムを削除できる。
DROP PUBLIC SYNONYM パブリック・シノニムを削除できる。

シノニムに関するデータ・ディクショナリ・ビュー

シノニムに関するデータ・ディクショナリ・ビューには、次のものがある。

シノニムに関するデータ・ディクショナリ・ビュー
データ・ディクショナリ・ビュー 説明
ALL_SYNONYMS 現在のユーザーがアクセスできるプライベート・シノニムおよびパブリック・シノニムを示す。
DBA_SYNONYMS Oracleデータベース内すべてのプライベート・シノニムおよびパブリック・シノニムを示す。
USER_SYNONYMS 現在のユーザーが所有するプライベート・シノニムを示す。

SQL