返回给定属性的值。允许指定一个可选的特定于属性的字符串参数。
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 属性 指定 dbspace 的名称或文件 ID,以便获得 dbspace 的驱动器类型。返回值是以下值之一:CD、FIXED、RAMDISK、REMOTE、REMOVABLE 或 UNKNOWN。如果未指定任何内容,则返回系统 dbspace 的驱动器类型。如果指定的 dbspace 不存在,则属性函数返回 NULL。如果指定了 dbspace 的名称并且还指定了一个数据库(非当前连接的数据库)的 ID,则该函数也会返回 NULL。
File 属性 指定 dbspace 名称,以获得数据库根文件的文件名,包括路径。如果未指定任何内容,则返回系统 dbspace 的信息。如果指定的文件不存在,则函数返回 NULL。
FileSize 属性 指定 dbspace 的名称或文件 ID,以页为单位获得指定文件的大小。另外,可以指定 temporary,以便返回临时 dbspace 的大小;还可以指定 translog,以便返回日志文件的大小。如果未指定任何东西,则返回系统 dbspace 的大小。如果指定的文件不存在,则函数返回 NULL。
FreePages 属性 指定 dbspace 的名称或文件 ID,以便获得空闲页数。另外,可以指定 temporary,以便返回临时 dbspace 中的空闲页数;还可以指定 translog,以便返回日志文件中的空闲页数。如果未指定任何内容,则返回系统 dbspace 中的空闲页数。如果指定的文件不存在,则函数返回 NULL。
IOParallelism 属性 指定 dbspace 名称,以便获得 dbspace 支持的并发 I/O 操作数估计值。如果未指定 dbspace,则使用当前系统的 dbspace。
MirrorServerState 属性 指定服务器名来确定镜像服务器的连接状态。返回 CONNECTED、DISCONNECTED、INCOMING ONLY、OUTGOING ONLY 或 NULL。
MirrorState 属性 指定服务器名来确定镜像服务器的同步状态。返回 SYNCHRONIZING、SYNCHRONIZED 或 NULL。
NextScheduleTime 属性 指定事件名称,以便获得事件的下一调度执行时间。
database-id 数据库 ID 号,即 DB_ID 函数返回值。通常使用数据库名。
database-name 数据库的名称,即 DB_NAME 函数返回值。
VARCHAR
云注意事项: 由于租户数据库的隔离规则,当在云中调用此函数时,仅会返回关于当前租户数据库的信息。
DB_EXTENDED_PROPERTY 函数类似于 DB_PROPERTY 函数,不同之处是它允许指定一个可选的 property-specific-argument 字符串参数。对 property-specific-argument 的解释取决于在第一个参数中指定的属性 ID 或属性名。
如果省略第三个参数,则使用当前数据库。
比较目录字符串(如表名和过程名)时,数据库服务器使用 CHAR 归类。对于 UCA 归类,目录归类与 CHAR 归类相同,仅定制更改为不区分大小写、不区分重音,以及在主级别中排序标点符号等几点例外。对于传统归类,目录归类与 CHAR 归类相同,仅定制更改为不区分大小写例外。虽然不能显式指定用于目录归类的定制,但可以查询 Specification 属性,以便获得数据库服务器比较目录字符串时使用的完整归类说明。如果需要利用 CHAR 归类和目录归类之间的差异,查询 Specification 属性很有用。例如,假定有不区分标点符号的 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/2008 服务商扩充。
以下语句返回当前数据库的位置:
SELECT DB_EXTENDED_PROPERTY( 'File' ); |
以下语句返回以页为单位的系统 dbspace 文件大小。
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讨论此页。
|
版权 © 2012, iAnywhere Solutions, Inc. - SQL Anywhere 12.0.1 |