#XMLTYPE
YashanDB中的XMLTYPE类型是一种可变长度数据类型,用于存储XML类型数据,底层以CLOB方式进行存储,支持XMLTYPE类型进行建表、插入,更新和查询功能。
# 存储属性
类型 | 字节长度 |
---|---|
XMLTYPE | 行存: 1~4G*DB_BLOCK_SIZE |
定义格式:
类型 | 格式 | 规则 |
---|---|---|
XMLTYPE | XMLTYPE | 变长字符串,无需指定size |
YashanDB的XMLTYPE类型存储方式与大对象类型的CLOB类型相同,存储包含行内存储和行外存储两种方式:
- 当一行的XMLTYPE列的数据小于4000字节时,XMLTYPE数据将存储在行内。
- 当超过4000字节时,XMLTYPE数据存入单独的大对象数据空间(可为其指定表空间),行内存储的则是指向XMLTYPE数据的指针。
# 使用限制
- 仅适用于单机部署的HEAP表。
- 目前仅支持全部查询,不支持结构化查询,输出没有格式。
- 目前仅支持对XMLTYPE数据的直接简单插入,不对XMLTYPE数据的合法性做校验。
- 不支持四则运算与大小比较。
- XMLTYPE类型支持与字符型中的CHAR及VARCHAR类型进行相互转换,不支持与NCHAR及NVARCHAR类型进行相互转换,与其他数据类型的转换支持情况详见数据类型转换章节。
--1.在sales用户下创建含有XMLTYPE字段的test_xml表
CREATE TABLE test_xml (co1 xmltype);
--2.给test_xml表增添数据
INSERT INTO test_xml VALUES('<employee><id>2</id><name>hahaha</name></employee>');
--3.查看test_xml表数据
SELECT * FROM test_xml;
--3.修改test_xml表数据
UPDATE test_xml SET co1='<employee><id>1</id><name>join</name></employee>';