PUT 子句

使用 PUT 子句为包含智能大对象的列指定存储空间(sbspace)。该子句可以指定新列的存储特征或替换现有列的存储特征。它的语法类似于 CREATE TABLE 语句的 PUT 子句,但是它只指定单个列而不是列的列表。
PUT 子句
元素 描述 限制 语法
column 要存储在指定 sbspace 中的列 必须是 UDT 、或 complex 、BLOB 或 CLOB 数据类型 标识符
kilobytes 要为 extent 大小分配的千字节数 必须是整数值 文字的数值
sbspace 只能大对象的存储区域的名称 sbspace 必须存在 标识符

当您修改列的存储特征时,所有先前与该列的存储空间相关联的属性均被删除。当您希望保留某些属性时,必须重新指定那些属性。例如,要保留日志记录,您必须重新指定 log 关键字。

格式 column.field 在此处无效。即,您所存储的智能大对象不能是 row 类型的一个字段。

当您修改存放智能大对象的列的存储特征时,数据库服务器不会更改已经存在的智能大对象,而是将新存储特征仅应用于那些 ALTER TABLE 语句生效后插入的智能大对象。

以下示例修改了表 sbtab ,将 BLOB 列 c1 存储于 sbspace sbs1 ,更改 extent 大小为 32 千字节,并打开了事务日志记录:
ALTER TABLE sbtab PUT c1 IN (sbs1) (EXTENT SIZE 32, LOG);
以下示例将日志记录状态更改为 NO LOG ,并不保留 BLOB 列最后一次的存取时间:
ALTER TABLE sbtab PUT c1 IN (sbs1) (NO LOG, NO KEEP ACCESS TIME);
以下示例修改表,将 BLOB 列 c1 存储于 sbspaces sbs1sbs2 ,更改 extent 大小为 100 千字节,并打开了事务日志记录,且保留了最后一次存取时间:
ALTER TABLE sbtab PUT c1 IN (sbs1, sbs2)
        (EXTENT SIZE 100, LOG, KEEP ACCESS TIME);

有关 PUT 子句的关键字描述和可用的存储特征的信息,请参阅 CREATE TABLE 语句 PUT 子句 中与本节相对应的部分。有关大对象特征的讨论,请参阅 大对象数据类型