CREATE SYNONYMはシノニムを作成するSQL文である。
自分のスキーマ内にプライベート・シノニムを作成する。
CREATE SYNONYM synonym FOR [schema2.]object
他のユーザのスキーマ内にプライベート・シノニムを作成する。
CREATE SYNONYM schema.synonym FOR [schema2.]object
パブリック・シノニムを作成する。
CREATE PUBLIC SYNONYM synonym FOR [schema2.]object
プライベートシノニムを作成するスキーマを指定する。自分のスキーマにプライベートシノニムを作成する場合は、スキーマの指定を省略できる。 パブリックシノニムはスキーマオブジェクトではないため、スキーマを指定することはできない。
作成するシノニムの名前を指定する。
シノニムを作成する対象のオブジェクトが存在するスキーマを指定する。自分のスキーマにあるオブジェクトが対象の場合は、スキーマの指定を省略できる。
自分のスキーマ内にプライベート・シノニムを作成する場合は、CREATE SYNONYMシステム権限が必要である。
他のユーザのスキーマ内にプライベート・シノニムを作成する場合は、CREATE ANY SYNONYMシステム権限が必要である。
パブリック・シノニムを作成する場合は、CREATE PUBLIC SYNONYMシステム権限が必要である。
CREATE SYNONYMの使用例を次に示します。
SQL> CONNECT admin/adm_passwd
SQL> GRANT SELECT ON admin.employee TO developer;
SQL> CREATE SYNONYM developer.emp FOR admin.employee;
admin.employeeというオブジェクト名をEMPという別名で扱うことができます。
SQL> CONNECT developer/dev_passwd
SQL> SELECT * FROM admin.employee;
SQL> SELECT * FROM emp;