# CREATE SYNONYM 文

CREATE SYNONYM文によって同じスキーマあるいは異なるスキーマに存在する表やビューに別名を与える事ができます。 さらに別名に別名を与えて、入れ子の別名を作成することもできます。 別名は元の限定された表やビューの名前に代わり、SELECT、INSERT、UPDATE、DELETEやLOCK TABLE文にて利用できます。存在しない表やビューへの別名を作成することも可能ですが、別名を利用する前までに対象の表やビューは存在していなければなりません。

別名は表やビューと同じ名前空間を共有します。同じスキーマに既にある表と同じ名前で別名を作ることはできません。同様に既に存在する別名と同じ名前の表やビューを作成することはできません。

別名は作成時にまだ存在していない表やビューにも作成することができます。もし表やビューが存在していなければ、そのことを警告されます。(SQLSTATE 01522) DML文で別名を使うときには参照する情報は存在していなければなりません。

入れ子になった別名(他の別名への別名)を作成することはできますが、参照関係が循環するような別名を作成しようとするとエラーとなります。(SQLSTATE 42916)

別名はシステムスキーマに定義できません。'SYS'で名前が始まるあらゆるスキーマはシステムスキーマとみなされ、Derbyにおいて予約されています。

一時表への別名は作成できません。一時表に別名を定義しようとするとエラーとなります。(SQLSTATE XCL51)

#### 構文

    CREATE SYNONYM 別の名 FOR { ビュー名 | 表名 }

文中の別の名は、対象の表やビューに与える別名です。一方で、ビュー名や表名は、対象の表やビューの元の名前です。

#### 例

CREATE SYNONYM SAMP.T1 FOR SAMP.TABLEWITHLONGNAME
Parent topic: CREATE 文
Related reference
CREATE FUNCTION 文
CREATE INDEX 文
CREATE PROCEDURE 文
CREATE SCHEMA 文
CREATE TABLE 文
CREATE TRIGGER 文
CREATE VIEW 文