メインコンテンツまでスキップ

オブジェクト識別子

説明

テーブル、カラム、インデックスなどの各データベースオブジェクトには名前があります。SQLステートメントでは、これらの名前をオブジェクト識別子と呼びます。識別子は引用符で囲むことも囲まないこともできます。識別子に特殊文字や予約キーワードが含まれている場合は、参照するたびにバッククォート(`)で囲む必要があります。予約キーワードの詳細については、Reserved Keywordsセクションを参照してください。

オブジェクト識別子の制限

Dorisでは、オブジェクト識別子は変数enable_unicode_name_supportによって制御され、Unicode文字がサポートされるかどうかが決定されます。Unicode文字サポートが有効になっている場合、識別子はUnicodeの任意の言語文字を使用できます。ただし、句読点やその他の文字は許可されていません。

Dorisでは、異なるオブジェクトには識別子に対して異なる制限があり、異なるオブジェクトの具体的な制限を以下に示します。

テーブル名

モード識別子の制限
Unicode無効モード^[a-zA-Z][a-zA-Z0-9\\-_]*$
Unicode有効モード^[a-zA-Z\\p{L}][a-zA-Z0-9\\-_\\p{L}]*$

カラム名

モード識別子の制限
Unicode無効モード^[.a-zA-Z0-9_+\\-/?@#$%^&*\"\\s,:]{1,256}$
Unicode有効モード^[.a-zA-Z0-9_+\\-/?@#$%^&*\"\\s,:\\p{L}]{1,256}$

OUTFILE名

モード識別子の制限
Unicode無効モード^[_a-zA-Z][a-zA-Z0-9\\-_]{0,63}$
Unicode有効モード^[_a-zA-Z\\p{L}][a-zA-Z0-9\\-_\\p{L}]{0,63}$

ユーザー名

モード識別子の制限
Unicode無効モード^[a-zA-Z][a-zA-Z0-9.\\-_]*$
Unicode有効モード^[a-zA-Z\\p{L}][a-zA-Z0-9.\\-_\\p{L}]*$

LABEL名

モード識別子の制限
Unicode無効モード^[-_A-Za-z0-9:]{1,N}$、ここでNはFEのlabel_regex_length設定によって決定され、デフォルト値は128です。
Unicode有効モード^[\\-_A-Za-z0-9:\\p{L}]{1,N}$、ここでNはFEのlabel_regex_length設定によって決定され、デフォルト値は128です。

その他

モード識別子の制限
Unicode無効モード^[a-zA-Z][a-zA-Z0-9\\-_]{0,63}$
Unicode有効モード^[a-zA-Z\\p{L}][a-zA-Z0-9\\-_\\p{L}]{0,63}$