Click here to view and discuss this page in DocCommentXchange. In the future, you will be sent there automatically.
可以使用多种方法获得选项设置的列表或单个选项的值。
要列出所有当前系统定义选项设置,请调用 sa_conn_options 系统过程。
CALL sa_conn_options;
要按字母顺序排序此列表,请执行以下语句:
SELECT * FROM sa_conn_options( ) ORDER BY OptionName;
要过滤结果或对结果按名称以外的项目进行排序,请使用 WHERE 子句。例如:
SELECT * FROM sa_conn_options( ) WHERE OptionDescription LIKE '%date%' ORDER BY PropNum;
请参见sa_conn_options 系统过程。
您的连接的当前系统定义选项设置也可作为连接属性的一个子集提供。您可以使用 sa_conn_properties 系统过程列出所有连接属性。
CALL sa_conn_properties;
要按字母顺序排序此列表,可以执行以下语句:
SELECT * FROM sa_conn_properties( ) ORDER BY PropName;
请参见sa_conn_properties 系统过程。
sa_conn_options 和 sa_conn_properties 系统过程的结果包括系统定义选项的连接级别设置,可替换用户或 PUBLIC 设置。
对于用户定义的选项,其值不会由 sa_conn_options 或 sa_conn_properties 系统过程返回。相反,您可以直接查询 SYSOPTION 或 SYSOPTIONS 目录视图,以确定用户定义的特定选项的值。下列对 SYSOPTIONS 系统视图的查询会显示已永久设置的所有系统定义选项和用户定义选项的所有公共级别设置和用户级别设置:
SELECT * FROM SYSOPTIONS;
使用 SET TEMPORARY OPTION 语句临时设置特定连接的服务器定义的选项不会更新 SYSOPTION(或 SYSOPTIONS)系统视图。在连接级别对选项设置的临时更改仅保留在服务器内存中。要确定系统定义选项的当前设置,应使用 sa_conn_options 或 sa_conn_properties 系统过程、CONNECTION_PROPERTY 函数或(在嵌入式 SQL 中) GET OPTION 语句。
在 Interactive SQL 中,不带参数的 SET 语句可列出系统定义的连接、数据库和 Interactive SQL 选项的当前设置。
SET;
在 Sybase Central 中,选择数据库,然后单击 [文件] » [选项]。
可使用 CONNECTION_PROPERTY 系统函数获取单个系统定义选项的当前设置。例如,以下语句会报告 ansi_blanks 选项的值:
SELECT CONNECTION_PROPERTY ( 'ansi_blanks' );
CONNECTION_PROPERTY 不能用于获取用户定义的选项值。请参见CONNECTION_PROPERTY 函数 [System]。
在嵌入式 SQL 程序中,可使用 GET OPTION 语句来确定嵌入式 SQL 应用程序中(系统或用户定义的)选项的值。请参见GET OPTION 语句 [ESQL]。
可以在尝试设置数据库选项时,使用 sa_server_option 系统过程指示数据库服务器发送消息或返回错误。
可使用 OptionWatchList 属性创建想要监控的选项列表,使用 OptionWatchAction 属性指定在尝试设置要监控的选项时数据库服务器要执行的操作。
调用以下存储过程以指示数据库服务器监控数据库选项 automatic_timestamp、float_as_double 和 tsql_hex_constant:
CALL dbo.sa_server_option( 'OptionWatchList','automatic_timestamp,float_as_double,tsql_hex_constant' );
如果尝试设置在 OptionWatchList 属性中指定的选项,请调用以下存储过程以指示数据库服务器返回错误:
CALL dbo.sa_server_option( 'OptionWatchAction','ERROR' );