#XMLTYPE

YashanDB中的XMLTYPE类型是一种可变长度数据类型,用于存储XML类型数据,底层以CLOB方式进行存储,支持XMLTYPE类型进行建表、插入,更新和查询功能。

# 存储属性

类型 字节长度
XMLTYPE 行存:[1,4G*DB_BLOCK_SIZE]

YashanDB的XMLTYPE类型存储方式与大对象类型的CLOB类型相同,存储包含行内存储和行外存储两种方式:

  • 当一行的XMLTYPE列的数据小于4000字节时,XMLTYPE数据将存储在行内。
  • 当超过4000字节时,XMLTYPE数据存入单独的大对象数据空间(可为其指定表空间),行内存储的则是指向XMLTYPE数据的指针。

# 定义格式

类型 格式 规则
XMLTYPE XMLTYPE 变长字符串,无需指定size

使用规则如下:

  • 仅适用于HEAP表。
  • 对于XMLTYPE类型数据的查询为无格式的全部内容输出。
  • 对于XMLTYPE类型数据的插入为无格式的直接插入,不对XMLTYPE数据的合法性做校验。
  • 不支持四则运算与大小比较。
  • XMLTYPE类型与其他数据类型的转换支持情况请查阅数据类型转换
  • 支持exp/imp使用,使用规格与CLOB一致。
  • 无法用于长度、截取相关函数传参,用于CONCAT、TRIM、LTRIM、RTIMR函数时返回VARCHAR类型,其余函数中表现形式与CLOB一致。
  • 无法用于LOB高级包。

示例(HEAP表)

-- 1.在sales用户下创建含有XMLTYPE字段的tbl_xml表
CREATE TABLE tbl_xml (co1 xmltype); 
-- 2.给tbl_xml表增添数据
INSERT INTO tbl_xml VALUES('<employee><id>2</id><name>hahaha</name></employee>');
-- 3.查看tbl_xml表数据
SELECT * FROM tbl_xml;
-- 3.修改tbl_xml表数据
UPDATE tbl_xml SET co1='<employee><id>1</id><name>join</name></employee>';
pdf-btn 下载文档
copy-btn 复制链接