ALL_SYNONYMS は現在のユーザーがアクセスできるシノニムを示すOracleデータ・ディクショナリ・ビューである。
シノニムとは表などに付ける別名であり、自分だけが参照できるプライベート・シノニムと、誰でも参照できるパブリック・シノニムの2種類がある。
列 | データ型 | NULL | 説明 |
---|---|---|---|
OWNER | VARCHAR2(30) | シノニムの所有者 | |
SYNONYM_NAME | VARCHAR2(30) | シノニムの名前 | |
TABLE_OWNER | VARCHAR2(30) | オブジェクトの所有者 | |
TABLE_NAME | VARCHAR2(30) | シノニムが参照するオブジェクトの名前 | |
DB_LINK | VARCHAR2(128) | 参照されるデータベース・リンクの名前 |
すべてのユーザーが ALL_SYNONYMS データ・ディクショナリ・ビューを参照できる。
Oracleデータ・ディクショナリ・ビュー「ALL_SYNONYMS」の「OWNER」列は、シノニムの所有者を示す。
パブリック・シノニムの場合、所有者ではなく作成者を示す。
Oracleデータ・ディクショナリ・ビュー「ALL_SYNONYMS」の「SYNONYM_NAME」列は、シノニムの名前を示す。
シノニムの一覧を問い合わせるSQL文の例を次に示す。
SQL> SELECT * FROM ALL_SYNONYMS;
OWNER SYNONYM_NAME TABLE_OWNER TABLE_NAME DB_LINK
----- ------------ ----------- ---------- -------
TSUKA EMPLOYEE TSUKA EMP
TSUKA DEPARTMENT TSUKA DEPT
Oracleデータ・ディクショナリ・ビュー「ALL_SYNONYMS」の「TABLE_OWNER」列は、シノニムが参照するオブジェクトの所有者を示す。
Oracleデータ・ディクショナリ・ビュー「ALL_SYNONYMS」の「TABLE_NAME」列は、シノニムが参照するオブジェクトの名前を示す。
従業員表を参照するシノニムの一覧を問い合わせるSQL文の例を次に示す。
SQL> SELECT * FROM ALL_SYNONYMS WHERE TABLE_NAME = 'EMP';
OWNER SYNONYM_NAME TABLE_OWNER TABLE_NAME DB_LINK
----- ------------ ----------- ---------- -------
TSUKA EMPLOYEE TSUKA EMP
Oracleデータ・ディクショナリ・ビュー「ALL_SYNONYMS」の「DB_LINK」列は、参照されるデータベース・リンクの名前を示す。
シノニムに関するデータ・ディクショナリ・ビューには、次のものがある。
データ・ディクショナリ・ビュー | 説明 |
---|---|
ALL_SYNONYMS | 現在のユーザーがアクセスできるプライベート・シノニムおよびパブリック・シノニムを示す。 |
DBA_SYNONYMS | Oracleデータベース内すべてのプライベート・シノニムおよびパブリック・シノニムを示す。 |
USER_SYNONYMS | 現在のユーザーが所有するプライベート・シノニムを示す。 |
シノニムに関するシステム権限には、次のものがある。
システム権限 | 説明 |
---|---|
CREATE SYNONYM | 自分のスキーマにプライベート・シノニムを作成できる。 |
CREATE ANY SYNONYM | 任意のスキーマにプライベート・シノニムを作成できる。 |
CREATE PUBLIC SYNONYM | パブリック・シノニムを作成できる。 |
DROP ANY SYNONYM | 任意のスキーマにあるプライベート・シノニムを削除できる。 |
DROP PUBLIC SYNONYM | パブリック・シノニムを削除できる。 |
シノニムに関するSQL文には、次のものがある。
SQL文 | 説明 |
---|---|
CREATE SYNONYM | シノニムを作成する。 |
ALTER SYNONYM | シノニムを変更する。 |
DROP SYNONYM | シノニムを削除する。 |
オラクル・データベースのデータ・ディクショナリ・ビューには次のものがある。