使用 SET ENVIRONMENT 语句来指定会话环境选项的设置,这些可影响同一例程之内提交的后续查询,或当前的用户会话的其他操作。对于有些选项,此语句覆盖那些通过配置参数或通过环境变量为数据库服务器实例设置的缺省行为。
这是对 SQL 的 ANSI/ISO 标准的扩展。 GBase 8s 支持 AUTOLOCATE、AUTO_READAHEAD、AUTO_STAT_MODE、BOUND_IMPL_PDQ、CLUSTER_TXN_SCOPE、DEFAULTESCCHAR、EXTDIRECTIVES、FORCE_DDL_EXEC、GRID_NODE_SKIP, HDR_TXN_SCOPE、IFX_AUTO_REPREPARE、IFX_BATCHEDREAD_INDEX、IFX_BATCHEDREAD_TABLE、IMPLICIT_PDQ、GBASEDBTCONRETRY、GBASEDBTCONTIME、NOVALIDATE、OPTCOMPIND、RETAINUPDATELOCKS、SELECT_GRID、SELECT_GRID_ALL、STATCHANGE、USELASTCOMMITTED 和 USTLOW_SAMPLE 会话环境选项。
元素 | 描述 | 限制 | 语法 |
---|---|---|---|
char | 单个字符来设置作为该会话中 LIKE 或 MATCHES 运算对象中的缺省转义符 | 必须为单字节字符 | 用引号括起的字符串 |
grid | 对于不带有显式的 GRID 子句的后续查询的缺省的现有网格 | 必须存在,且必须通过 cdr define grid 命令定义 | 用引号括起的字符串 |
integer |
取值范围为 1-32 的 AUTOLOCATE 值启用自动的存储定位并扩展表的大小,且分配那个数目的初始轮转分片。0 设置禁用此存储自动。 取值范围为 1 ≤ integer ≤ 100 的 BOUND_IMPL_PDQ 或 IMPLICIT_PDQ 值通过那个百分比界定显式的 PDQPRIORITY 值。 取值 > 1 的 FORCE_DDL_EXEC 值设置超时限制,以秒为单位。 GBASEDBTCONRETRY 值设置在第一次失败之后附加的连接尝试的最大数目 取值 > 0 的 GBASEDBTCONTIME 值设置 CONNECT 语句尝试建立到数据库服务器的连接的秒数。0 设置是 GBASEDBTCONTIME 配置参数的缺省值。 OPTCOMPIND 代码 0、1 或 2 优先处理嵌套的循环连接查询优化器策略。 取值范围为 1 ≤ integer ≤ 100 的 STATCHANGE 值,作为百分率,为 UPDATE STATISTICS 操作设置数据交换阈值。 |
对于指定的会话环境选项必须为有效的 | 用引号括起的字符串 |
region | 对于不带有显式的 GRID 子句的后续的查询,现有的网格之内缺省的区域 | 必须存在,且通过 cdr define region 命令定义 | 用引号括起的字符串 |
SET ENVIRONMENT 指定可影响查询的环境选项,或通过该语句运行在其中的例程管理资源使用。在其中发出 SET ENVIRONMENT 的会话期间,有些选项可覆盖环境变量或配置参数的设置。 例如,SET ENVIRONMENT OPTCOMPIND '2' 语句指导查询优化器在会话期间使用成本作为后续连接计划的基础,而不是偏爱嵌套的循环连接。即使此行为与 OPTCOMPIND 环境变量的当前的 0 或 1 设置冲突,也执行此指导。
对于几个会话环境选项,下列关键词有类似的作用:
跟在选项名称之后的参数依赖于该选项的语法。选项名称和它的 ON、OFF 和 DEFAULT 关键字不要求引号定界符,且不区分大小写。所有其他的参数都必须括在单引号(')或双引号(")之间。如果对于会话环境选项带引号的字符串是有效的参数,则该参数区分大小写。前述的语法图是简化的,仅以单引号(')围绕语法令牌来展示,双引号(")也是有效的定界符。
如果您指定一个不被支持的环境选项名称,则返回错误 -19840。如果您指定一不被支持的 integer 或数字值作为有效的环境选项的设置,则返回特定于选项的错误(例如,错误 -19843,Invalid IFX_AUTO_REPREPARE value specified)。