易截截图软件、单文件、免安装、纯绿色、仅160KB

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 server 2008 bcp 批量复制程序 出错 解决

sql server 2008 bcp 批量复制程序 出错
C:\Documents and Settings>bcp MSPetShop4.dbo.product out c:\1.txt -T
SQLState = 08001, NativeError = -1
Error = [Microsoft][SQL Native Client]SQL 网络接口: 定位指定的 Server/Instance
时出错 [xFFFFFFFF].
SQLState = HYT00, NativeError = 0
Error = [Micros ......

sql的几个排序函数

1用于排序的函数
row_number()
rank()
dense_rank()
ntile(group_number)
下面列举这个函数的用法:
row_number()函数一般用于组内排序,而其他三个函数是对结果集排序
例子:分页排序
<!--注意全局变量也在这里声明,并用逗号隔开-->
create proc MyDividePageSort @iRowCount int ,@iPageNo int
AS
< ......

高性能XML解析类

//pugxml.h
///////////////////////////////////////////////////////////////////////////////
//
// Pug XML Parser - Version 1.0002
// --------------------------------------------------------
// Copyright (C) 2003, by Kristen Wegner (kristen@tima.net)
// Released into the Public Domain. Use at yo ......

.NET SQLServer2005 XML字段

//这是添加 
private void button1_Click(object sender, EventArgs e)
        {
            string s = "Persist Security Info=False;Integrated Security=SSPI;database=IIntegration;server=(local)";
 &n ......

SQL Server和Oracle的常用函数对比

---------数学函数
1.绝对值
S:select abs(-1) value
O:select abs(-1) value from dual
2.取整(大)
S:select ceiling(-1.001) value
O:select ceil(-1.001) value from dual
3.取整(小)
S:select floor(-1.001) value
O:select floor(-1.001) value from dual
4.取整(截取)
S:select cast(-1.002 as int) v ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号