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 と互換性のあるデータベースの作成

この項では、データベースの作成や、再構築のときに必要な選択肢について説明します。

クイック・スタート

ここでは、Transact-SQL と互換性のあるデータベースを作成するときに必要な手順を示します。この項の残りの部分では、設定する必要があるオプションについて説明します。

♦  Transact-SQL と互換性のあるデータベースを作成するには、次の手順に従います (Sybase Central の場合)。
  1. Sybase Central を起動します。

  2. [ツール] - [SQL Anywhere 11] - [データベースの作成] を選択します。

  3. ウィザードの指示に従います。

  4. [Adaptive Server Enterprise のエミュレート] ボタンが表示されたら、このボタンをクリックし、[次へ] をクリックします。

  5. ウィザードの指示に従います。

♦  Transact-SQL と互換性のあるデータベースを作成するには、次の手順に従います (コマンド・ラインの場合)。
♦  Transact-SQL と互換性のあるデータベースを作成するには、次の手順に従います (SQL の場合)。
  1. SQL Anywhere データベースに接続します。

  2. 次の文を、Interactive SQL などで入力します。

    CREATE DATABASE 'dbname.db'
    ASE COMPATIBLE
    CASE RESPECT 
    BLANK PADDING ON;

    この文で、ASE COMPATIBLE は Adaptive Server Enterprise と互換性があるという意味です。SYS.SYSCOLUMNS と SYS.SYSINDEXES の各ビューが作成されません。

大文字と小文字を区別するデータベースの作成

デフォルトでは、Adaptive Server Enterprise データベースでの文字列比較は大文字と小文字を区別しますが、SQL Anywhere では大文字と小文字を区別しません。

SQL Anywhere を使用して Adaptive Server Enterprise と互換性のあるデータベースを構築する場合は、大文字と小文字を区別するオプションを選択します。

  • Sybase Central を使用している場合は、このオプションはデータベース作成ウィザードにあります。

  • dbinit ユーティリティを使用している場合は、-c オプションを指定します。

比較の後続ブランクを無視

SQL Anywhere を使用して Adaptive Server Enterprise と互換性のあるデータベースを構築するときには、比較するときに後続ブランクを無視するオプションを選択します。

  • Sybase Central を使用している場合は、このオプションはデータベース作成ウィザードにあります。

  • dbinit ユーティリティを使用している場合は、-b オプションを指定します。

このオプションを選択すると、Adaptive Server Enterprise と SQL Anywhere では次の 2 つの文字列を等しいと見なします。

'ignore the trailing blanks   '
'ignore the trailing blanks'

このオプションを選択しないと、SQL Anywhere ではこの 2 つの文字列は異なっていると見なします。

このオプションを選択すると、クライアント・アプリケーションでフェッチした文字列にブランクが埋め込まれます。

古いシステム・ビューの削除

SQL Anywhere の古いバージョンでは 2 つのシステム・ビューを使用していましたが、互換性を確保しようとすると、それらの名前は Adaptive Server Enterprise のシステム・ビューと矛盾します。その 2 つのビューは SYSCOLUMNS と SYSINDEXES です。Open Client または JDBC のインタフェースを使用している場合は、これらのビューを除外してデータベースを作成します。この処理には dbinit -k オプションを使用します。

データベースの作成時にこのオプションを使用しなかった場合、SELECT * FROM SYSCOLUMNS; 文を実行すると、「テーブル名 'SYSCOLUMNS' はあいまいです。」というエラーが発生します。