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_で始まるものもあります。
違いは参照できる範囲が異なります。
カラム | 内容 |
---|---|
OWNER | シノニムの所有者 |
SYNONYM_NAME | シノニム名 |
TABLE_OWNER | 対象オブジェクトの所有者 |
TABLE_NAME | 対象オブジェクト名 |
DB_LINK | データベースリンクを使用している場合はデータベースリンク名 |