Oracle データベース・リンク構文

Oracle データベース・リンク構文により、リモートのデータベース、表、またはビューに接続することができます。 この機能は、Db2® Warehouse on Cloud 管理対象サービスのエントリー・プランには適用されません。

データベース・リンク構文では @ (アットマーク) を使用して IN 条件またはメンバーシップ条件を示します。 例えば、スキーマ user のリモート・オブジェクト pencilsstock へのデータベース・リンクを使用してアクセスするには、次のように使用します。
SELECT * FROM user.pencils@stock;
注: 通常 ID の有効な文字として @ 文字がサポートされています。 例えば、pencils@stock という名前の表を作成できます。 データベース・リンクのサポートが有効である場合、@ 文字は表参照、ビュー参照、および列参照において特殊区切り文字として扱われます。 リンクのサポートが有効になっているときにデータベース・オブジェクト名に @ を使用する場合は、その名前を二重引用符で囲む必要があります。

リモート・オブジェクト参照は次のような形式になります。
<schema_name>,<object_name>@<server_name>
列参照も含めることができます。
<schema_name>,<object_name>,<column_name>@<server_name>
次の SELECT ステートメントは EMPLOYEE という名前のリモート表を照会します。

SELECT birthdate FROM rschema.employee@sudb WHERE firstname='SAM'
SELECT rschema.employee.birthdate@sudb FROM rschema.employee@sudb 
   WHERE rschema.employee.firstname@sudb ='SAM'
次のようにして、リモート表に対して UPDATE、INSERT、および DELETE ステートメントを実行することもできます。
UPDATE rschema.employee@sudb SET firstname='MARY'
INSERT INTO rschema.employee@sudb VALUES ('Bob')
DELETE FROM rschema.employee@sudb