一連のデータの参照を提供します。
Synopsis
identifier{.identifier} [[AS] alias]
{join_expression}
(query) [[AS] alias]
{join_expression}
"{" oj identifier{.identifier} [[AS] alias]
{join_expression} "}"
"{" oj (query) [[AS] alias]
{join_expression} "}"
テーブルは、行 (レコード) や列 (フィールド) に存在するデータの参照方法を提供します。
テーブル名は、修飾、未修飾のどちらでもかまいません。未修飾のテーブル名は、単純な識別子です (
MyTable)。修飾されたテーブル名は、2 つの単純な識別子であるスキーマ名とテーブル名で構成され、ピリオドで区切られています (
MySchema.MyTable)。Caché は、テーブル名またはスキーマ名に対して区切り文字付き識別子をサポートしません。
スキーマ名とテーブル名は、大文字と小文字を区別しません。有効なスキーマ名には、文字、数字、およびアンダースコア文字 (_) 以外を含めることはできません。
未修飾のテーブル名には、(#import 文が指定されている場合を除き) システム既定の SQL スキーマ名が割り当てられます。このデフォルト SQL スキーマ名は、SQLUser です。以下の方法により、この既定をシステム全体で変更できます。
-
ObjectScript $SYSTEM.SQL.SetDefaultSchema() 関数呼び出し。
-
デフォルト SQL スキーマ名を _CURRENT_USER に設定する場合、既定スキーマは SQL にログインするために使用される処理のユーザ名となります。その処理が SQL にログインしない場合、SQLUser が既定スキーマです。デフォルト SQL スキーマ名を _CURRENT_USER/Name に設定する場合、既定スキーマは SQL にログインするために使用される処理のユーザ名となります。その処理が SQL にログインしない場合、Name が既定スキーマです。
Note:
デフォルト SQL スキーマ名を変更する場合、システム上のすべてのネームスペース内ですべてのクエリ・キャッシュを手動で削除する必要があります。既定スキーマ名を変更すると、未修飾のテーブル名を含むすべてのクエリの意味が変更されることになります。デフォルト SQL スキーマ名は、Caché のインストール時に設定されたものをその後に修正しないことを強くお勧めします。
Caché は、スキーマ名を使用して、対応するパッケージ名を生成します。Caché はテーブル名を使用して、対応するクラス名を生成します。スキーマ名またはテーブル名には長さの制限はありませんが、対応するパッケージ名やクラス名はそれぞれ 25 文字に切り捨てられます。
スキーマ名の最初の文字がアンダースコア文字である場合、この文字は対応するパッケージ名内で小文字の "u" に置き換えられます。例えば、スキーマ名 _SYSTEM は、パッケージ名 uSYSTEM を生成します。スキーマ名の最初の文字以外の任意の文字がアンダースコア文字である場合、この文字は対応するパッケージ名内でピリオド (.) に置き換えられます。