完全修飾された名前が必要な場合 - Advanced SQL Engine - Teradata Database

Teradata Vantage™ - SQLデータ定義言語 詳細トピック

Product
Advanced SQL Engine
Teradata Database
Release Number
17.05
17.00
Published
2020年6月
Language
日本語
Last Update
2021-03-30
dita:mapPath
ja-JP/jpx1556733107962.ditamap
dita:ditavalPath
ja-JP/jpx1556733107962.ditaval
dita:id
B035-1184
Product Category
Software
Teradata Vantage

SQL文でデフォルトのデータベース以外を参照しない場合は、修飾されない名前を使用するのが一番簡単です。SQL文の中で使用している非修飾名が複数のデータベースからテーブル、ビュー、その他のオブジェクトを参照する場合、その名前はいずれか1つのデータベースだけに適用されます。

修飾されていないテーブルの名前が検出されると、以下のすべてのデータベースでその名前のオブジェクトが検索されます。

  • デフォルト データベース
  • SQL文で参照されているすべてのデータベース
  • ログイン ユーザー データベースの中のその名前の揮発テーブル

検索処理では、これらのデータベースの任意の1つだけでそのテーブル名を検出する必要があります。複数のデータベースでそのテーブル名が検出された場合は、Teradata Databaseから「ambiguous table name」という趣旨のエラー メッセージが返されます。そのような場合は、デフォルトのデータベースが他のデータベースよりも優先されることはありません。

したがって、複数のデータベースを参照する場合には、複数のデータベースに含まれている名前の完全修飾形式を使用することが必要です。

次の構文は、テーブルなどを参照するための完全修飾形式を示しています。

     database_name.table_name