シノニム

[Oracle] シノニムを作成するSQL(CREATE SYNONYM)

シノニムの作成

シノニムを作成する(基本)

シノニムとは、テーブルやビューに別名をつけたものです。

シノニムを作成することで、他のスキーマのテーブルを参照する際「スキーマ名.テーブル名」のように接続しなくても、自スキーマのテーブルのように接続することが可能になります。

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

CREATE SYNONYM シノニム名 FOR スキーマ名.オブジェクト名;

それではサンプルを見てみましょう。

上記を実行することで、SCHEMA1スキーマのTESTTBL1テーブルを、TESTSYNONYMという名前で使用することが可能になります。

 

同名のシノニムが存在しても作成する

シノニムを作る際、すでに同名のシノニムが存在する場合はエラーとなります。
これをエラーとせず、新しい定義で上書きするには、OR REPLACEを記述します。

CREATE OR REPLACE SYNONYM シノニム名 FOR スキーマ名.オブジェクト名;

それではサンプルを見てみましょう。

上記を実行することで、すでにTESTSYNONYMというシノニムが存在していても、上書きして作成することが可能です。

 

全てのユーザが使用できるシノニムを作成する

同一ユーザのみではなく、データベース内の全てのユーザーが使用できるようにするためには、CREATE PUBLIC SYNONYMを使用します。

CREATE PUBLIC SYNONYM シノニム名 FOR スキーマ名.オブジェクト名;

それではサンプルを見てみましょう。

上記を実行することで、TESTSYNONYMはすべてのユーザーで使用可能となります。
 
 
以上が、シノニムの作成「CREATE SYNONYM」の使い方です。
ぜひ参考にしてみてください。