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 関数 (A ~ D)

 

DB_EXTENDED_PROPERTY 関数 [システム]

指定したプロパティの値を返します。オプションでプロパティ固有の文字列パラメータを指定できます。

構文
DB_EXTENDED_PROPERTY( 
{ property-id | property-name }
[, property-specific-argument
[, database-id | database-name ] ]
)
パラメータ
  • property-id   問い合わせるデータベース・プロパティ ID。

  • property-name   問い合わせるデータベース・プロパティ名。

    データベース・プロパティの完全なリストについては、データベース・プロパティを参照してください。

  • property-specific-argument   次のデータベース・プロパティを使用すると、以下に示すように、プロパティに関する特定の情報を返すための追加の引数を指定できます。

    • CharSet プロパティ   規格の名称を指定して、指定した規格におけるデフォルトの CHAR 文字セットのラベルを取得します。可能な値には、ASE、IANA、MIME、JAVA、WINDOWS、UTR22、IBM、ICU があります。規格が指定されない場合、IANA がデフォルトとして使用されます。ただし、データベース接続が TDS によって作成された場合、デフォルトは ASE です。

    • CatalogCollation プロパティ、Collation プロパティ、NcharCollation プロパティ   これらのプロパティを問い合わせるとき、次の値を property-specific-argument として指定すると、照合に固有の情報が返されます。

      • AccentSensitive   AccentSensitive を指定すると、照合でのアクセント記号の区別の設定を取得できます。たとえば、次の文は、NCHAR 照合でのアクセント記号の区別の設定を返します。
        SELECT DB_EXTENDED_PROPERTY( 'NcharCollation', 'AccentSensitive');

        戻り値は、Ignore、Respect、French のいずれかです。これらの値の説明については、照合の適合化オプションを参照してください。

      • CaseSensitivity   CaseSensitivity を指定すると、照合での大文字と小文字の区別の設定を取得できます。戻り値は、Ignore、Respect、UpperFirst、LowerFirst のいずれかです。これらの値の説明については、照合の適合化オプションを参照してください。

      • PunctuationSensitivity   PunctuationSensitivity を指定すると、照合での句読表記の区別の設定を取得できます。戻り値は、Ignore、Primary、Quaternary のいずれかです。これらの値の説明については、照合の適合化オプションを参照してください。

      • Properties   Properties を指定すると、照合に指定されるすべての適合化オプションが含まれる文字列を取得できます。返される文字列に含まれるキーワードと値の説明については、照合の適合化オプションを参照してください。

      • Specification   Specification を指定すると、照合で使用される完全照合指定が含まれる文字列を取得できます。返される文字列に含まれるキーワードと値の説明については、照合の適合化オプションを参照してください。

    • DriveType プロパティ   DB 領域の名前またはファイル ID を指定して、ドライブのタイプを取得します。返される値は、CD、FIXED、RAMDISK、REMOTE、REMOVABLE、UNKNOWN のいずれかです。何も指定しないと、システム DB 領域のドライブのタイプが返されます。指定した DB 領域が存在しない場合、このプロパティ関数は NULL を返します。DB 領域名とともに現在接続されてないデータベースの ID を指定した場合にも、この関数は NULL を返します。

    • File プロパティ   DB 領域名を指定して、データベース・ルート・ファイルのファイル名 (パスも含む) を取得します。何も指定しないと、システム DB 領域の情報が返されます。指定したファイルが存在しない場合、このプロパティ関数は NULL を返します。

    • FileSize プロパティ   DB 領域の名前またはファイル ID を指定して、指定したファイルのサイズを取得します。temporary を指定して、テンポラリ DB 領域のサイズを返すこともできます。または、translog を指定して、ログ・ファイルのサイズを返すこともできます。何も指定しないと、システム DB 領域のサイズが返されます。指定したファイルが存在しない場合、このプロパティ関数は NULL を返します。

    • FreePages プロパティ   DB 領域の名前またはファイル ID を指定して、空きページ数を取得します。temporary を指定して、テンポラリ DB 領域の空きページ数を返すこともできます。または、translog を指定して、ログ・ファイルの空きページ数を返すこともできます。何も指定しないと、システム DB 領域の空きページ数が返されます。指定したファイルが存在しない場合、このプロパティ関数は NULL を返します。

    • IOParallelism プロパティ   DB 領域名を指定して、その DB 領域がサポートする同時 I/O 操作の推定回数を取得します。DB 領域が指定されない場合、現在のシステムの DB 領域が使用されます。

    • NextScheduleTime プロパティ   イベント名を指定して、次にスケジュールされている実行時刻を取得します。

  • database-id   DB_ID 関数が返すデータベース ID 番号。通常、データベース名が使用されます。

  • database-name   DB_NAME 関数から返されるデータベース名。

戻り値

VARCHAR 値を返します。3 番目の引数を省略すると、現在のデータベースが使用されます。

備考

DB_EXTENDED_PROPERTY 関数は、property-specific-argument 文字列パラメータをオプションで指定できる点を除いて、DB_PROPERTY 関数と同じです。property-specific-argument の解釈は、最初の引数で指定されたプロパティ ID またはプロパティ名によって異なります。

テーブル名やプロシージャ名などのカタログ文字列を比較する場合、データベース・サーバでは CHAR 照合が使用されます。UCA 照合の場合、カタログ照合は CHAR 照合と同じですが、適合化は大文字と小文字およびアクセント記号が区別せず、句読表記はレベル 1 でソートされるようになります。これまでの照合の場合、カタログ照合は CHAR 照合と同じですが、適合化は大文字と小文字を区別しないようになります。カタログ照合で使用される適合化は明示的に指定できませんが、Specification プロパティを問い合わせて、カタログ文字列を比較するためにデータベース・サーバで使用される完全照合指定を取得することができます。Specification プロパティの問い合わせは、CHAR 照合とカタログ照合の違いを利用する必要がある場合に便利です。たとえば、句読表記を区別しない CHAR 照合を使用し、アップグレード・スクリプトを実行するとします。このスクリプトでは、my_procedure というプロシージャを定義し、myprocedure という古いバージョンを削除しようとします。CHAR 照合を使用すると my_procedure は myprocedure と等価であるため、次の文では目的の結果を得られません。

CREATE PROCEDURE my_procedure( ) ...; 
IF EXISTS ( SELECT * FROM SYS.SYSPROCEDURE WHERE proc_name = 'myprocedure' ) 
THEN DROP PROCEDURE myprocedure 
END IF;

その代わり、次の文を実行すると目的の結果を得られます。

CREATE PROCEDURE my_procedure( ) ...; 
IF EXISTS ( SELECT * FROM SYS.SYSPROCEDURE 
   WHERE COMPARE( proc_name, 'myprocedure', DB_EXTENDED_PROPERTY( 'CatalogCollation', 'Specification' ) ) = 0 ) 
THEN DROP PROCEDURE myprocedure 
END IF;
参照
標準と互換性
  • SQL/2003   ベンダ拡張。

次の文は、現在のデータベースの場所を返します。

SELECT DB_EXTENDED_PROPERTY( 'File' );

次の文は、システムの DB 領域のファイル・サイズをページ単位で返します。

SELECT DB_EXTENDED_PROPERTY( 'FileSize' );

次の文は、トランザクション・ログのファイル・サイズをページ単位で返します。

SELECT DB_EXTENDED_PROPERTY( 'FileSize', 'translog' );

たとえば、次の文は、NCHAR 照合での大文字と小文字の区別の設定を返します。

SELECT DB_EXTENDED_PROPERTY( 'NcharCollation',' CaseSensitivity' );

次の文は、データベースの CHAR 照合に指定された適合化オプションを返します。

SELECT DB_EXTENDED_PROPERTY ( 'Collation', 'Properties' );

次の文は、データベースの NCHAR 照合の完全照合指定を返します。

SELECT DB_EXTENDED_PROPERTY( 'NCharCollation', 'Specification' );