SAP SQLAnyWhere2-XML数据基本操作

本文详细介绍如何使用SQL将表数据转换为XML格式,并通过FORXML RAW与ELEMENTS参数控制XML结构。同时,深入解析如何利用OPENXML与LATERAL功能高效地从XML文档中提取数据,生成SQL结果集。

SQL Anywhere 16在线帮助文档地址:

http://dcx.sap.com/index.html#sa160/zh/sqlanywhere_zh16/help_top_index.htm

 

DECLARE @XML XML 

//将表数据转换为XML形式
SELECT @XML = XMLELEMENT(NAME root, (SELECT * FROM Parms FOR XML RAW, ELEMENTS))


//这是基本形式,在查询中指定 FOR XML RAW 时,每一行都会表示为一个 <row> 元素,而每一列都是<row> 元素的一个属性

SELECT * FROM Parms FOR XML RAW

//ELEMENTS参数,让 FOR XML RAW 为结果中的每一列都生成一个 XML 元素,而不是生成一个属性。如果有 NULL 值,生成的 XML 文档中就会忽略该元素。FOR XML RAW 不会返回结构完好的 XML 文档,因为该文档没有单一的根节点。如果需要<root> 元素,可以使用 XMLELEMENT 函数插入一个

 

//解析XML

//例1:
SET @XML = '

<root>
    <row></row>
    <row></row>
    <row></row>
</root>'
SELECT * FROM OPENXML(@XML,'/root/row') WITH (ParmName CHAR(50) 'ParmName',ParmVal CHAR(100) 'ParmVal')

//例2:
SET @XML = '
<row>row文本
    <c1></c1>
    <c2></c2>
    <c3></c3>
</row>'
SELECT * FROM OPENXML(@XML,'/row') WITH (rowText CHAR(50) './text()', c1 CHAR(50) 'c1',c2 CHAR(100) 'c2')

//例3:可以通过LATERAL派生表功能,在表T1结果集的基础上,派生出从XMLCol解析出的C1字段,和表T1的结果集合并为一个结果集
SELECT * FROM T1,LATERAL(OPENXML(XMLCol,'/root') WITH (c1 VARCHAR(10) './c1')) c1 ,

OPENXML 运算符在查询的 FROM 子句中用于从 XML 文档生成结果集。OPENXML 使用 XPath查询语言的子集从 XML 文档中选择节点。使用 OPENXML 时,会对 XML 文档进行分析,而结果会采用树形式建模。这个树由节点组成。XPath 表达式用于选择树中的节点。以下列表介绍了一些常用的 XPath 表达式:
● / 指明 XML 文档的根节点
● // 指明根的所有下级节点,包括根节点
● . (一个句点) 指明 XML 文档的当前节点
● .// 指明当前节点的所有子代,包括当前节点
● .. 指明当前节点的父节点
● ./@attributename 指明名称为 attributename 的当前节点的属性
● ./childname 指明当前节点中名称为 childname 的子项

 

LATERAL:横向派生表

帮助原文:

可能包含对父语句中对象的引用(外部引用)的派生表、存储过程或连接表。要在 FROM 子句中使用外部引用,必须使用横向派生表。只能将外部引用用于 FROM 子句中位于横向派生表之前的表。例如,不能将外部引用用于 SELECT 列表中的项。表和外部引用必须用逗号分开。

汗……这个文档写的……简单来说,就是在T1表原有字段的基础上,在最右方添加LATERAL的字段,T1中的每一个会和LATERAL的每一行对应,可以通过多个LATERAL派生出多个字段。

### 回答1: SAP SQL Anywhere 是一款轻型的关系数据库管理系统 (RDBMS),适用于边缘计算和移动应用程序的数据存储和管理。 要下载 SAP SQL Anywhere,可以按照以下步骤进行操作: 1. 首先,打开SAP官方网站(www.sap.com)。 2. 在网站上方的搜索框中输入 "SAP SQL Anywhere"。 3. 点击搜索按钮,系统将显示与 SAP SQL Anywhere 相关的结果。 4. 在结果中找到具体的 SAP SQL Anywhere 页面或下载链接。 5. 点击下载链接,网站可能要求您登录或创建一个免费的SAP账户。 6. 提供所需的信息(如姓名、公司、联系方式等),以完成账户注册或登录过程。 7. 一旦成功登录,您将获得下载 SAP SQL Anywhere 的权限。 8. 点击下载按钮,将会开始下载 SAP SQL Anywhere 的安装文件。 9. 下载完成后,双击安装文件以启动安装向导。 10. 按照安装向导的指示,选择适当的选项来完成安装过程。 11. 安装完成后,您可以通过开始菜单或桌面快捷方式启动 SAP SQL Anywhere。 12. 如果需要,您可以按照附带的文档,配置和设置 SAP SQL Anywhere,以满足您的具体需求。 总结一下,要下载 SAP SQL Anywhere,您需要访问 SAP 官方网站并搜索相关信息,然后进行账户注册或登录,最后按照安装向导的指示完成安装过程。 ### 回答2SAP SQL Anywhere是一款面向移动和嵌入式设备的关系型数据库软件。它提供了强大的功能,包括高性能的数据管理和同步功能,适用于多种应用场景。 要下载SAP SQL Anywhere,您可以按照以下步骤进行操作: 1. 访问SAP官方网站,网址为www.sap.com。 2. 在网站上找到“产品和服务”或“软件和工具”等相关选项,并点击进入。 3. 在搜索框中输入“SAP SQL Anywhere”或者直接在页面上查找相关产品。 4. 找到SAP SQL Anywhere的下载页面,并点击进入。 5. 确认您需要的版本和操作系统的兼容性,以及任何其他系统要求。 6. 点击下载按钮,并选择一个合适的下载位置。 7. 等待下载过程完成,并确保下载的文件与您的操作系统兼容。 8. 完成下载后,可以根据安装指导进行软件的安装。 需要注意的是,SAP SQL Anywhere是商业软件,可能会收取相关的使用许可费用。在下载之前,请确保您已获得相关的授权或许可证。 总结:SAP SQL Anywhere是一款功能强大的关系型数据库软件,适用于移动和嵌入式设备。要下载这款软件,您可以通过SAP官方网站进行下载,并遵循安装指导。但请注意,可能需要支付相关的使用许可费用。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值