SET CURRENT TEMPORAL SYSTEM_TIME 语句
SET CURRENT TEMPORAL SYSTEM_TIME 语句用于更改 CURRENT TEMPORAL SYSTEM_TIME 特殊寄存器的值。
调用当前时间系统_时间
此语句可嵌入应用程序中或者以交互方式发出。 它是可动态准备的可执行语句。
授权使用当前时间系统_时间
不需要执行任何操作。
SET CURRENT TEMPORAL SYSTEM_TIME的语法
当前时间系统的描述_时间
- NULL
- 指定空值。
- 表达式
- 指定一个返回空值或以下内置数据类型之一的值的表达式:
- 时间戳记
- 字符串
- 图形字符串
如果表达式是一个字符串或图形字符串,则必须满足以下要求:
- 它不能是CLOB或DBCLOB。
- 表达式的值必须是一个有效的时间戳字符串或图形字符串表示。
- 表达的结果必须转换为 TIMESTAMP(12)。
表达式可以包含以下任何支持的运算符:
- 常量
- 专用寄存器
- 可变(宿主变量、SQL参数、SQL变量或全局变量)
- 标量函数,其参数为支持的操作数
- CAST 规范,其中,强制类型转换操作数是受支持的操作数
- 使用算术运算符和操作数的表达式
有关更多信息,请参阅:
当前时间系统设置说明_时间
- 事务
- SET CURRENT TEMPORAL SYSTEM_TIME语句不是可提交操作。 ROLLBACK语句对CURRENT TEMPORAL SYSTEM_TIME没有影响。
- 对其他特殊登记册的影响
- 当前时间系统_时间特殊寄存器的设置不会影响其他特殊寄存器,例如当前日期和当前时间戳特殊寄存器。
示例:当前时间系统_时间
- 将特殊寄存器设置为有效值的示例
- 以下两个语句将当前时间系统_时间特殊寄存器设置为“ 2008-01-06-00.00.00.000000000000 ”。
SET CURRENT TEMPORAL SYSTEM_TIME = TIMESTAMP('2008-01-01') + 5 DAYS; SET CURRENT TEMPORAL SYSTEM_TIME = '2008-01-06-00.00.00.000000000000'; - 设置特殊寄存器使其不影响后续SQL语句的示例
- 以下语句将当前时间系统_时间特殊寄存器设置为空值。 后续引用系统周期临时表的SQL语句不受CURRENT TEMPORAL SYSTEM_TIME特殊寄存器的影响。
SET CURRENT TEMPORAL SYSTEM_TIME = NULL
