SQL 2005中用XML nodes()函数取代OPENXML
SQL Server 2005为XML提供本地支持;现在可以在OPENXML节点中使用一个带有nodes()函数的XML字段类型把一个XML文件转化为一个行集。让我们来看一个使用OPENXML的简单例子,并显示如何把它转化为在SQL Server 2005中使用XML字段类型和nodes()函数。
为了使我们的例子简单化,我们将假设我们需要执行某种基于采购订单列表的过程,而这个采购订单将在一个XML文件中指定。该XML文件类似于这样:
< polist>
< po>< ponumber>100< /ponumber>< podate>2008-09-10< /podate>< /po>
< po>< ponumber>101< /ponumber>< podate>2008-09-11< /podate>< /po>
< /polist>
我们可以通过下面的OPENXML把 XML转化为一个行集:
DECLARE @DocHandle int
DECLARE @XmlDocument nvarchar(1000)
SET @XmlDocument = N''< polist>
< po>< ponumber>100< /ponumber>< podate>2008-09-10< /podate>< /po>
< po>< ponumber>101< /ponumber>< podate>2008-09-11< /podate>< /po>
< /polist>''
EXEC sp_xml_preparedocument @DocHandle OUTPUT, @XmlDocument
SELECT * from OPENXML (@DocHandle, ''/polist/po'',2)
WITH (ponumber nvarchar(10),
podate datetime)
EXEC sp_xml_removedocument @DocHandle
下面是执行以上代码段得到的行集:
图一
这是从上面代码段得到的要点:
使用OPENXML的第一步是通过访问该存储过程sp_xml_preparedocument来"准备"XML文件,该存储过程将返回一个确认准备好的XML的整数。
OPENXML是一个行集提供者,这意味着如果它是一张表,那么你同样可以使用它。本质上它是一个带有参数的函数,这些参数将确定该从XML文件中提取什么。
使用OPENXML的最后步骤是通过访问存储过程sp_xml_removedocument来"释放"准备好的XML文件。
上面的xml存储过程使用共同的MSXML解析组件。
sp_xml_preparedocument存储过程把准备好的XML文件存储在SQL Server的内部高速缓存中。访问sp_xml_removedocument存储过程是很有必要的,这是为了把准备好的XML文件从高速缓存中消除。根据SQL Server 2005联机帮助,能够用于SQL Server的八分之一总内存可以用于MSX
相关文档:
SQL分类:
DDL—数据定义语言(CREATE,ALTER,DROP,DECLARE)
DML—数据操纵语言(SELECT,DELETE,UPDATE,INSERT)
DCL—数据控制语言(GRANT,REVOKE,COMMIT,ROLLBACK)
首先,简要介绍基础语句:
1、说明:创建数据库
CREATE DATABASE database-name
2、说明:删除数据库
drop database dbname ......
转:http://hi.baidu.com/oneshotonekill/blog/item/be68b513f7c929d7f6039e1e.html
Whitespace is not allowed before an XML Processing Instruction (< ? ... ?>). HTMLComponent.Eclipse在编辑mxml的时候提示这样的错误。检查才发现代码中在<? ?>之前存在空格。 ......
<?xml version="1.0" encoding="UTF-8"?>
<projects>
<node Country="暗暗啊" Gold="10" Silver="20" Bronze="30"/>
<node Country="白斑病" Gold="30" Silver="20" Bronze="10"/>
<node Country="常常厂" Gold="20" Silver="40" Bronze="60"/>
<node Country="赌东道" Gold="5 ......
Sql时间函数
一、sql server日期时间函数
Sql Server中的日期与时间函数
1. 当前系统日期、时间
select getdate()
2. dateadd 在向指定日期加上一段时间的基础上,返回新的 datetime 值
......
首先要有jxl类库。
程序如下:
import java.io.*;
import jxl.*;
public class ExcelToSql {
public static void main(String args[])
{
try
{
Workbook book= Workbook.getWorkbook(new File("D:\\workspaceuse6\\foundation\\test\\com\\gres ......