ORACLE/SYNONYM編

オラクルちょこっとリファレンス

HOME > SYNONYM編

SYNONYM(シノニム/別名)

シノニムとは表やビューなどのオブジェクトにつけた別名のことです。この別名を付けることにより本来の名称とは異なるシノニム名でオブジェクトにアクセスすることができます。

本来のオブジェクト名を隠す目的や、他スキーマのオブジェクトの場合、オブジェクト名の前にスキーマ名を付けなければなりませんが、それをしたくない場合などにシノニムが使用されます。

シノニムの作成

シノニムの作成には、CREATE SYNONYM句を使用します。

CREATE SYNONYM構文
CREATE [OR REPLACE] [PUBLIC] SYNONYM 別名
  FOR スキーマ名.オブジェクト名;

パラメータ 説明
OR REPLACE 同名のシノニムが既に存在した時でも、構わず上書きする場合に指定する
PUBLIC パブリックシノニムを作成する場合に指定する。
(パブリックシノニムとは全てのユーザがアクセス可能なシノニムの事です。)
CREATE SYNONYM例文
--(例)USER1の所有するTEST_TBLというテーブルにTEST01というシノニムを作成する。 CREATE SYNONYM TEST01 FOR USER1.TEST_TBL;

シノニムを作成するためには以下の権限が必要です。

  • CREATE SYNONYM:自スキーマに作成する時
  • CREATE ANY SYNONYM:他スキーマに作成する時
  • CREATE PUBLIC SYNONYM:パブリックシノニムを作成する時

シノニム名の変更

シノニム名を変更するには RENAME句を使用します。

RENAME構文
RENAME <旧シノニム名> TO <新シノニム名>;

PUBLICシノニムは、RENAME不可です。

RENAME例文
--(例)test_symシノニムを、my_symに名称変更する。 RENAME test_sym TO my_sym;

シノニムの削除

シノニムの削除には DROP SYNONYM句を使用します。

DROP SYNONYM構文
DROP [PUBLIC] SYNONYM <別名>;

※パラメータ「PUBLIC」は、上記をご覧ください。

DROP SYNONYM例文
--(例)シノニム(シノニム名:test_sym)を削除する。 DROP SYNONYM test_sym;

シノニムの情報を表示する

シノニムの情報を表示するには ALL_SYNONYMSデータディクショナリビューを検索します。

シノニムの情報を表示する
SELECT * FROM ALL_SYNONYMS;

データディクショナリビューには、DBA_やUSER_で始まるものもあります。
 違いは参照できる範囲が異なります。

【ALL_SYNONYMSの主要カラム】
カラム内容
OWNERシノニムの所有者
SYNONYM_NAMEシノニム名
TABLE_OWNER対象オブジェクトの所有者
TABLE_NAME対象オブジェクト名
DB_LINKデータベースリンクを使用している場合はデータベースリンク名
ToTop