| --- |
| { |
| "title": "オブジェクト識別子", |
| "language": "ja", |
| "description": "テーブル、列、インデックスなどの各データベースオブジェクトには名前があります。SQL文では、これらの名前はオブジェクト識別子と呼ばれます。" |
| } |
| --- |
| ## 説明 |
| |
| テーブル、カラム、インデックスなどの各データベースオブジェクトには名前があります。SQLステートメントでは、これらの名前をオブジェクト識別子と呼びます。識別子は引用符で囲むことも囲まないこともできます。識別子に特殊文字や予約キーワードが含まれている場合は、参照するたびにバッククォート(`)で囲む必要があります。予約キーワードの詳細については、[Reserved Keywords](./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}$` | |