SQL シノニムを作成/使用するサンプル

SQLのシノニムを作成/使用するサンプルです。

確認環境
・Oracle Express Edition 11g Release 2

目次

説明 シノニム(synonym)
サンプル シノニムを作成する
  シノニム名を変更する
  シノニムを削除する
  シノニムを確認する
  「public synonymを作成する権限」を付与する

シノニム(synonym)

create synonym シノニム名 for テーブル等;
create public synonym シノニム名 for テーブル等;
  • シノニムは、表やプロシージャ等の別名をつけて実行できます。
  • 元のオブジェクトが変更や削除されるとシノニムは無効になります。
  • publicがつくと全ユーザーが参照できます。
  • シノニム(synonym)は、同義語という意味です。
  • 以下は、Oracleのシノニムのリンクです。
    https://docs.oracle.com/cd/E16338_01/server.112/b56299/statements_7001.htm

シノニムを作成する

シノニムを作成するサンプルです。

以下のテーブルがあるとします。

syainテーブル
id name romaji
1 鈴木 suzuki
2 田中 tanaka
3 佐藤 sato

 

上記のSYAINテーブルからTestSyno1というシノニムを作成します。

CREATE SYNONYM TestSyno1 FOR SYAIN;

以下は、シノニムで値を取得するサンプルです。

select * from TestSyno1;

結果

結果は、以下のとおりです。

id name romaji
1 鈴木 suzuki
2 田中 tanaka
3 佐藤 sato

テーブルと同じ値が取得できます。

シノニム名を変更する

rename 変更前シノニム名 to 変更後シノニム名;

シノニム名を変更するサンプルです。

RENAME TestSyno1 TO TestSyno2;

renameでシノニム名をTestSyno1からTestSyno2に変更しています。

シノニムを削除する

drop synonym シノニム名;
drop public synonym シノニム名;

シノニムを削除するサンプルです。

DROP SYNONYM TestSyno1;

DROP SYNONYMとシノニム名を指定します。

シノニムを確認する

シノニムを確認するサンプルです。

SELECT * FROM ALL_SYNONYMS
where SYNONYM_NAME = 'TESTSYNO1';

ALL_SYNONYMSテーブルで作成したシノニムを確認できます。

ALL_SYNONYMSテーブル
OWNER SYNONYM_NAME TABLE_OWNER TABLE_NAME
HR TESTSYNO1 HR SYAIN
PUBLIC TESTSYNO2 HR SYAIN

上記は、SYAINテーブルに対して2つのシノニムを作成しています。
publicの場合は、ownerの列がpublicになっています。

「public synonymを作成する権限」を付与する

「public synonymを作成する権限」を付与する手順です。

1.現在の付与されている権限は、SESSION_PRIVSテーブルで確認できます。

select * from SESSION_PRIVS;

2.system等の権限のあるユーザでログインします。

3.grant文で権限を与えます。

grant CREATE PUBLIC SYNONYM to hr;

create public synonymの権限をhrユーザに与えています。

関連の記事

SQL シーケンス(順序)を作成/使用するサンプル
SQL ビューを作成/使用するサンプル

△上に戻る