SB_CHECK_FOR_TEMP 配置参数

使用 SB_CHECK_FOR_TEMP 配置参数来防止将临时智能大对象复制到永久表内。

onconfig.std 值
未设置。
如未出现
准许将临时智能大对象复制到永久表内。
0 = 准许将临时智能大对象复制到永久表内。等同于在 onconfig 文件中未设置该配置参数。
1 = 防止将临时智能大对象复制到永久表内。数据库服务器返回下列错误消息,而不是复制临时智能大对象的句柄:
  • -9810: Smart-large-object error.
  • -12246: Smart large objects: You cannot put a temporary smart large object into a permanent table
生效
编辑 onconfig 文件并重启数据库服务器之后。

用法

缺省情况下,您可将临时智能大对象复制到永久表内。智能大对象数据类型,BLOB 和 CLOB,包含两部分:数据,存储在 sbspace 中,以及句柄,存储在表中。当您将临时智能大对象复制到永久表内时,仅将 BLOB 或 CLOB 句柄复制到永久表内。如果您接下来删除该临时智能大对象,则永久表包含一个不再有效的句柄。

要防止将临时智能大对象复制到永久表内,请在 onconfig 文件中设置 SB_CHECK_FOR_TEMP 配置参数为 1。例如,如果 SB_CHECK_FOR_TEMP 配置参数设置为 1,则将临时智能大对象复制到永久表内的 INSERT INTO . . . SELECT FROM . . . 语句失败。