すべてのデータベース・オブジェクト (表、視点、列など) の識別子は、その識別子が区切られていなければ、カタログ表には大文字で保管されます。区切り名を用いて識別子が作成された場合には、名前の記述に用いられた文字がそのままカタログ表に保管されます。
識別子が SQL ステートメント内で参照されると、識別子が区切られていなければ、大小文字は区別なし として処理されます。
たとえば、次の 2 つの表が作成された場合、
CREATE TABLE MyTable (id INTEGER) CREATE TABLE "YourTable" (id INTEGER)
2 つの表 MYTABLE と YourTable が存在することになります。
以下の 2 つのステートメントは同等です。
SELECT * FROM MyTable (id INTEGER) SELECT * FROM MYTABLE (id INTEGER)
次の 2 番目のステートメントは、YOURTABLE と命名された表がないため、 TABLE NOT FOUND というエラーが出されて失敗します。
SELECT * FROM "YourTable" (id INTEGER) // executes without error SELECT * FROM YourTable (id INTEGER) // error, table not found
すべての DB2 CLI カタログ関数の引き数は、オブジェクトの名前を大文字小文字の区別あり 、すなわち各名前が区切られているものとして処理します。