【ORACLE】シノニムを作成・変更・削除するSQL


ここではORACLEデータベースでデータベースリンク(dblink)を作成する方法を紹介します。

シノニムの確認方法は↓で紹介していますので参考にしてください。
>>【ORACLE】シノニムの一覧を確認するSQL

シノニムとは

テーブルやビュー、プログラム、シーケンスなどのオブジェクトに対する別名です。

例えばEMPLOYEE表をEMPという別名を付けることが出来ます。
別名を付けると「SELECT * FROM EMP;」といった具合に別名でアクセスすることが出来ます。

別名を使ったSQLは、テーブル本体の名前が変わっても影響を受けません。例えばEMPLOYEEがEMPLOYEESと名前が変わっても「SELECT * FROM EMP;」でアクセスできることに変わりはありません。

シノニムを作成するSQL

シノニムの作成は、CREATE SYNONYM文を使います。

シノニムの作成や削除にはCREATE ANY SYNONYM、 PUBLIC SYNONYM、DROP ANY SYNONYM、DROP PUBLIC SYNONYM権限が必要です。

システム権限の付与の方法については↓で紹介していますので参考にしてください。
>>【ORACLE】システム権限を付与・取消するSQL

CREATE SYNONYM文の基本構文

CREATE SYNONYMの基本構文は次の通りです。

CREATE [OR REPLACE] [PUBLIC] SYNONYM 別名 FOR ユーザー名.オブジェクト名;

・シノニムを上書きする場合は「OR REPLACE」を指定します。

・シノニムを全ユーザーで共有する場合は「PUBLIC」を指定し、パブリックシノニムを作成します。

CREATE SYNONYM文のSQLサンプル

CREATE SYNONYMのSQLサンプルを紹介します。

次のSQLでは、別名を「emp」とし、USER1のemployeeオブジェクトを参照しています。

CREATE SYNONYM emp FOR user1.employee;

パブリックシノニムとして作成する場合は次のSQLのようにPUBLICを指定します。

CREATE PUBLIC SYNONYM emp FOR user1.employee;

シノニムを変更するSQL

シノニムを変更するときはRENAME文を使います。

RENAME emp TO emp1;

シノニムを削除するSQL

シノニムを削除するときはDROP文を使います。

DROP SYNONYM emp;

パブリックシノニムを削除するときはPUBLICを指定します。

DROP PUBLIC SYNONYM emp;

まとめ

シノニムの作成はCREATE SYNONYM文、変更はRENAME文、削除はDROP文で行います。

シノニムを共有する場合はPUBLICを指定し、パブリックシノニムを作成しましょう。

シノニムを使ってオブジェクトを利用するときは、シノニムではなくオブジェクトに対するオブジェクト権限が必要です。

オブジェクト権限については↓で紹介していますので参考にしてください。
 ・【ORACLE】オブジェクト権限を付与・取消するSQL
 ・【ORACLE】オブジェクト権限を確認するSQL