SQL文における識別子の区切り文字
最終更新日: 2020年3月14日
R8 | R9
Wagbyでは各データベースに対して次に示す区切り文字を利用します。標準では次のようになっています。
利用者がデータベースに対して直接 SQL を発行する場合も、この区切り文字を考慮するようにしてください。
例えばデータベースに Oralce を利用している場合、次のような SQL になります。
区切り文字を付与する理由は、各データベース製品の予約語を回避するためです。
環境 > データベース > 識別子の区切り文字の設定で、これを無効にすることはできます。この場合、利用するデータベースによってモデル名、モデル項目名(英語)に利用できない名前が生じることがあります。具体的には次のようなものがあります。
このような理由から、新規にシステム開発を行う場合はトラブル回避のため、区切り文字を付与されることを推奨します。
区切り文字一覧
データベース
区切り文字(quoteid)
HSQLDB
"(ダブルクォート)
PostgreSQL
"(ダブルクォート)
MySQL
`(バッククォート)
Oracle
"(ダブルクォート)
SQLServer
"(ダブルクォート)
DB2
"(ダブルクォート)
SQL の例
select * from "juser" where "id" > 0
区切り文字を設定しない方法とその影響
データベース
利用できない名前(英語)
(共通)
select, update, delete, insert, create, from, to, where, order
Oracle
level, size