sql 通过游标 拆分xml结构

-----------------------定义游标变量------------------------------------------
  DECLARE @propertyid INT
  DECLARE @propertyname VARCHAR(50)
  DECLARE @xml NVARCHAR(1000)
  DECLARE top3_Cursor CURSOR SCROLL FOR
   --------------------------定义游标结束-----------------------------
   SELECT s.id, s.name, CAST(PropertyValueSchema AS VARCHAR(1000)) PropertyValueSchema  
 FROM StyleProperty s INNER JOIN (  SELECT MAX(a.id) id  , a.name
  FROM dbo.StyleProperty a INNER JOIN  dbo.StylePartsGroup b ON a.GroupId = b.Id
   WHERE  PropertyValueSchema.exist(‘//valueSchema//select//@mode‘)=1 
   GROUP BY a.name) b ON s.id = b.id
  
   OPEN top3_Cursor
   FETCH NEXT FROM top3_Cursor INTO @propertyid,@propertyname,@xml
   WHILE(@@FETCH_STATUS=0)
   BEGIN 
  
   ----------------------------- body-------------------------------------
  
  
    DECLARE @idoc INT

PRINT @xml
   EXEC sp_xml_preparedocument @idoc OUTPUT, @xml
-- Execute a SELECT statement using OPENXML rowset provider.
INSERT INTO t1
SELECT @propertyid propertyid,@propertyname propertyname, *
FROM OPENXML (@idoc, ‘/valueSchema/select/items/item‘ ,1)
      WITH (
      codekey    INT  ‘@key‘,
  codename varchar(100)  ‘@name‘
          )
EXEC sp_xml_removedocument @idoc
   ------------------------------------body end---------------------------
   FETCH NEXT FROM top3_Cursor INTO @propertyid,@propertyname,@xml
   END
  
   -----------------------footer-----------------------
   close top3_Cursor
 DEALLOCATE  top3_Cursor
   ---------------footer end----------------------
 
 --------------------------------------------end  cursor--------------------

时间: 2024-11-06 07:49:17

sql 通过游标 拆分xml结构的相关文章

SQL批量更新具有树形结构表Path字段

如上图所示,需要更新该表中Path字段,如ID=14的Path值:-1,ID=17的Path值:-1.14,ID=20的Path值:-1.14.18.19 步骤1.创建函数 Create FUNCTION [dbo].[F_Org] ( @id int ) RETURNS TABLE AS RETURN ( with testTable as( select UpperID from Core_DeptInfo where ID=@id union all select Core_DeptInf

sql:查询创建表的结构

? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86

推断字符串string是数字、json结构、xml结构

import org.json.JSONException; import org.json.JSONObject; import org.dom4j.DocumentException; import org.dom4j.DocumentHelper; public class StringTest { /** * @param args */ public static void main(String[] args) { String string1 = "123"; Strin

SQL Server 游标

什么是游标 结果集,结果集就是select查询之后返回的所有行数据的集合. 游标则是处理结果集的一种机制吧,它可以定位到结果集中的某一行,多数据进行读写,也可以移动游标定位到你所需要的行中进行操作数据. 一般复杂的存储过程,都会有游标的出现,他的用处主要有: 定位到结果集中的某一行. 对当前位置的数据进行读写. 可以对结果集中的数据单独操作,而不是整行执行相同的操作. 是面向集合的数据库管理系统和面向行的程序设计之间的桥梁. 游标的分类 根据游标检测结果集变化的能力和消耗资源的情况不同,SQL

SQL SERVER 游标的使用

--基于查询声明游标 declare cur CURSOR FOR select id from OrderProducts where OrderCode =@OrderCode --select @OrderProductsId = id from OrderProducts where OrderCode [email protected] --打开游标 OPEN cur --读取下一个游标 FETCH NEXT FROM cur INTO @OrderProductsId --遍历游标记

学习使用MS SQL Server游标(CURSOR)

说实的,使用MS SQL Server这样久,游标一直没有使用过.以前实现相似的功能,都是使用WHILE循环加临时表来实现.刚才有参考网上示例练习写了一下.了解到游标概念与语法.下面代码示例中,先是宣告你在游标中需使用变量,也就是临时存储处理字段的数据.2. 宣告一个游标,并SELECT需要处理的数据集.3. 打开游标(#8行代码).4. 从游标中拿来FETCH NEXT 数据给变量赋值.5. 循环@@FETCH_STATUS = 0条件.6. 在循环块,可以处理第一笔的记录逻辑了.本示例中是P

SQL Server2008无法修改表结构?

之前一直用SQL Server2005的数据库,最近升级到2008之后发现修改不了表结构,提示: 根据提示,取消"阻止保存要求重新创建表的更改"后就可以了. 具体操作:SQL Server Management studio-->工具-->选项-->Designers-->表设计器和数据库设计器-->取消"阻止保存要求重新创建表的更改"保存即可. SQL Server2008无法修改表结构?,布布扣,bubuko.com

Android Manifest.xml 结构详解

关于AndroidManifest.xml AndroidManifest.xml 是每个android程序中必须的文件.它位于整个项目的根目录,描述了package中暴露的组件(activities,services, 等等),他们各自的实现类,各种能被处理的数据和启动位置. 除了能声明程序中的Activities, ContentProviders, Services,和Intent Receivers,还能指定permissions和instrumentation(安全控制和测试) And

XML结构与语法

XML结构 〈?xml version="1.0" encoding="gb2312" ?〉 version是标明此XML文件所用的标准的版本号;encoding指明了此XML文件中所使用的字符类型,可以省略   XML解析 解析器的主要功能就是检查XML文件是否有结构上的错误,剥离XML文件中的标记,读出正确的内容,以交给下一步的应用程序处理. 同HTML一样,在浏览器中,必须有HTML的解析器,这样浏览器才能够"读懂"各种用HTML标记所组成