指定したプロパティの値を返します。オプションでプロパティ固有の文字列パラメータを指定できます。
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 領域が使用されます。
MirrorServerState プロパティ サーバ名を指定して、ミラーサーバの接続ステータスを判断します。CONNECTED、DISCONNECTED、INCOMING ONLY、OUTGOING ONLY、または NULL を返します。
MirrorState プロパティ サーバ名を指定して、ミラーサーバの同期ステータスを判断します。SYNCHRONIZING、SYNCHRONIZED、または NULL を返します。
NextScheduleTime プロパティ イベント名を指定して、次にスケジュールされている実行時刻を取得します。
database-id DB_ID 関数が返すデータベース ID 番号。通常、データベース名が使用されます。
database-name DB_NAME 関数から返されるデータベース名。
VARCHAR
DB_EXTENDED_PROPERTY 関数は、property-specific-argument 文字列パラメータをオプションで指定できる点を除いて、DB_PROPERTY 関数と同じです。property-specific-argument の解釈は、最初の引数で指定されたプロパティ ID またはプロパティ名によって異なります。
3 番目の引数を省略すると、現在のデータベースが使用されます。
テーブル名やプロシージャ名などのカタログ文字列を比較する場合、データベースサーバでは 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; |
「クラウドに関する注意:」テナントデータベース独立性ルールのため、この関数がクラウドで呼び出された場合、現在のテナントデータベースについての情報のみを返します。
現在のデータベースに対してこの関数を実行する場合、権限は必要ありません。この関数を他のデータベースに対して実行するには、SERVER OPERATOR または MONITOR のシステム権限を持っていることが必要です。
無効なパラメータ値を指定した場合、または必要とされるシステム権限のどれかがない場合は、NULL が戻ります。
SQL/2008 ベンダー拡張。
次の文は、現在のデータベースの場所を返します。
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' ); |
次の文は、ミラーサーバ Test の接続ステータスを返します。
SELECT DB_EXTENDED_PROPERTY( 'MirrorServerState', 'Test' ); |
次の文は、ミラーサーバ Test の同期ステータスを返します。
SELECT DB_EXTENDED_PROPERTY( 'MirrorState', 'Test' ); |
![]() |
DocCommentXchange で意見交換できます
|
Copyright © 2013, SAP AG or an SAP affiliate company. - SAP Sybase SQL Anywhere 16.0 |