Click here to view and discuss this page in DocCommentXchange. In the future, you will be sent there automatically.

SQL Anywhere 11.0.1 (日本語) » SQL Anywhere サーバ - SQL の使用法 » SQL のダイアレクトと互換性 » SQL ダイアレクト » Transact-SQL との互換性を意識したデータベースの設定

 

Transact-SQL との互換性を維持するためのオプション設定

SQL Anywhere のデータベース・オプションの設定は、SET OPTION 文を使用します。データベース・オプションの設定値のいくつかは Transact-SQL の動作を規定します。

allow_nulls_by_default オプションの設定

デフォルトでは、Adaptive Server Enterprise はカラムに対して NULL を許可すると定義しないかぎり、新しいカラムに NULL を許可しません。SQL Anywhere はデフォルトで新しいカラムに NULL を認めますが、これは SQL/2003 ISO 標準と互換性があります。

Adaptive Server Enterprise を SQL/2003 互換で動作させるには、sp_dboption システム・プロシージャを使用して allow_nulls_by_default オプションを true に設定します。

SQL Anywhere を Transact-SQL 互換で動作させるには、allow_nulls_by_default オプションを Off に設定します。これを行うには、次のように SET OPTION 文を使用します。

SET OPTION PUBLIC.allow_nulls_by_default = 'Off';
quoted_identifier オプションの設定

Adaptive Server Enterprise のデフォルトの識別子と文字列の処理は、SQL/2003 ISO 標準に一致する SQL Anywhere とは異なります。

quoted_identifier オプションは、Adaptive Server Enterprise と SQL Anywhere の両方で使用できます。識別子と文字列が互換性を持って処理されるように、両方のデータベースでこのオプションが同じ値に設定されていることを確認します。quoted_identifier オプション [互換性]を参照してください。

SQL/2003 に準拠させるには、Adaptive Server Enterprise と SQL Anywhere の両方で quoted_identifier オプションを On に設定します。

Transact-SQL に準拠させるには、Adaptive Server Enterprise と SQL Anywhere の両方で quoted_identifier オプションを Off に設定します。この設定では、キーワードと同じように複数の同一の識別子を二重引用符で囲んで使用することはできません。quoted_identifier を Off に設定しないで、アプリケーション内の SQL 文で使用しているすべての文字列を二重引用符ではなく一重引用符で囲む方法もあります。

string_rtruncation オプションの設定

Adaptive Server Enterprise と SQL Anywhere では、string_rtruncation オプションがサポートされています。このオプションは、INSERT 文または UPDATE 文字列がトランケートされたときのエラー・メッセージの表示を制御します。各データベースのオプション設定は同じ値にしてください。string_rtruncation オプション [互換性]を参照してください。

互換性オプションを参照してください。