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 ダイアレクト » 互換性のある SQL 文の記述方法

 

互換性のあるテーブルの作成

SQL Anywhere は、制約とデフォルト定義をデータ型定義内にカプセル化できるドメインをサポートします。Adaptive Server Anywhere はまた、CREATE TABLE 文の明示的なデフォルトと CHECK 条件もサポートします。ただし、名前付きデフォルトはサポートしません。

NULL

SQL Anywhere と Adaptive Server Enterprise は、NULL の処理に関して異なる点があります。Adaptive Server Enterprise では、NULL は値として処理されることがあります。

たとえば、Adaptive Server Enterprise のユニーク・インデックスには、NULL があるローと、NULL 以外は同一のローを同時に格納できません。SQL Anywhere では、このようなローでもユニーク・インデックスに格納できます。

デフォルトでは、Adaptive Server Enterprise のカラムは NOT NULL に設定されていますが、SQL Anywhere のデフォルト設定値は NULL です。この設定は、allow_nulls_by_default オプションを使用して制御できます。NULL または NOT NULL を明示的に指定して、データ定義文を転送可能にします。

このオプションの詳細については、Transact-SQL との互換性を維持するためのオプション設定を参照してください。

テンポラリ・テーブル

テンポラリ・テーブルを作成するには、CREATE TABLE 文のテーブル名の先頭にシャープ記号 (#) を付けます。このようなテンポラリ・テーブルは、SQL Anywhere の宣言テンポラリ・テーブルであり、現在の接続でしか使用できません。

テーブルの物理的配置は、Adaptive Server Enterprise と SQL Anywhere では実行方法が異なります。SQL Anywhere は ON segment-name 句をサポートしますが、segment-name は SQL Anywhere の DB 領域を参照します。

参照