blob: 59a6325d8ee03a11ddd9cccbb30932303fdda537 [file] [view]
---
{
"title": "オブジェクト識別子",
"language": "ja",
"description": "テーブル、カラム、インデックスなどの各データベースオブジェクトには名前があります。SQL文では、これらの名前はオブジェクト識別子と呼ばれます。"
}
---
## 説明
テーブル、カラム、インデックスなどの各データベースオブジェクトには名前があります。SQL文では、これらの名前はオブジェクト識別子と呼ばれます。識別子は引用符で囲むことも、囲まないこともできます。識別子に特殊文字や予約キーワードが含まれている場合は、参照するたびにバッククォート(`)で囲む必要があります。予約キーワードの詳細については、[Reserved Keywords](../basic-element/reserved-keywords)のセクションを参照してください。
## オブジェクト識別子の制限
Dorisでは、オブジェクト識別子は変数`enable_unicode_name_support`によって制御され、Unicode文字がサポートされるかどうかを決定できます。Unicode文字サポートが有効になっている場合、識別子はUnicodeの任意の言語文字を使用できます。ただし、句読点やその他の文字は許可されていません。
Dorisでは、異なるオブジェクトには識別子に対する異なる制限があり、異なるオブジェクトの具体的な制限を以下に示します。
## 説明
テーブル、カラム、インデックスなどの各データベースオブジェクトには名前があります。SQL文では、これらの名前はオブジェクト識別子と呼ばれます。識別子は引用符で囲むことも、囲まないこともできます。識別子に特殊文字や予約キーワードが含まれている場合は、参照するたびにバッククォート(`)で囲む必要があります。予約キーワードの詳細については、[Reserved Keywords](../basic-element/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-Z@0-9\\s/][.a-zA-Z0-9_+-/?@#$%^&*\"\\s,:]{0,255}$` |
| Unicodeモード有効 | `^[_a-zA-Z@0-9\\p{L}][.a-zA-Z0-9_+-/?@#$%^&*\\p{L}]{0,255}$` |
## 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}$` |