sql xml xquery (2)
2013-04-12 12:03
387 查看
1, DECLARE @x xml SET @x = '<ROOT><a>111</a></ROOT>' SELECT @x.query('/ROOT/a') 2, DECLARE @x xml; SET @x = ''; SELECT @x.query('(1,2, (3,4,5)),6'); 3, DECLARE @x xml; SET @x = ''; SELECT @x.query('1'); SELECT @x.query('"abc", "xyz"'); SELECT @x.query('data(1)'); SELECT @x.query('<x> {1+2} </x>'); 4, declare @x xml set @x='' select @x.query('<a> {"Hello"} </a>, <b> {"Hello2"} </b>') 5, DECLARE @Timesheet TABLE ( TimesheetNo VARCHAR(20), TimesheetXML XML ) INSERT INTO @Timesheet SELECT 'T000001', '<TimeCard xmlns="http://ns.hr-xml.org/2006-02-28"><AdditionalData type="TimeSheetNo">T000001</AdditionalData><AdditionalData type="CostCentreDepartment" /></TimeCard>' INSERT INTO @Timesheet SELECT 'T000002', '<TimeCard xmlns="http://ns.hr-xml.org/2006-02-28"><AdditionalData type="TimeSheetNo">T000002</AdditionalData><AdditionalData type="CostCentreDepartment" /></TimeCard>' SELECT 'before', * FROM @Timesheet ;WITH XMLNAMESPACES( DEFAULT 'http://ns.hr-xml.org/2006-02-28' ) UPDATE @Timesheet SET TimesheetXML.modify('replace value of (TimeCard/AdditionalData[@type="TimeSheetNo"]/text())[1] with concat( "L", .)') SELECT 'after', * FROM @Timesheet 6, SET NOCOUNT ON DECLARE @tbXML TABLE ( ID INT PRIMARY KEY, ParameterValue XML ) DECLARE @i INT SET @i = 0 INSERT INTO @tbXML VALUES ( 1, '<USER><User ID="1" Name="Billy"/></USER><USER><User ID="2" Name="Billy"/></USER>' ) INSERT INTO @tbXML VALUES ( 2, '<USER><User ID="1" Name="John"/></USER><USER><User ID="2" Name="Billy"/></USER>' ) INSERT INTO @tbXML VALUES ( 3, '<USER><User ID="1" Name="David"/></USER><USER><User ID="2" Name="Billy"/></USER><MANAGER><User ID="1" Name="Billy"/></MANAGER>' ) SELECT 'before', * FROM @tbXML WHILE EXISTS ( SELECT * FROM @tbXML WHERE ParameterValue.exist('//User/@Name[.="Billy"]') = 1 ) BEGIN UPDATE @tbXML SET ParameterValue.modify('replace value of (//User/@Name[.="Billy"])[1] with "Peter"') SET @i = @i + 1 -- Safety IF @i > 99 BEGIN RAISERROR( 'Too many loops.', 16, 1 ) BREAK END END SELECT 'after', * FROM @tbXML 7, DECLARE @xmlEntities xml DECLARE @xmlPackages xml ; with xmlnamespaces('l.xsd' as l, 'lx.xsd' as lx) select @xmlEntities='<l:Entity xmlns:l="l.xsd" />' , @xmlPackages='<lx:DataItemPackage xmlns:lx="lx.xsd"> <lx:PackageMetadata /> <lx:Digest /> </lx:DataItemPackage>' select @xmlEntities , @xmlPackages set @xmlPackages.modify(' declare namespace lx="lx.xsd";declare namespace l="l.xsd"; insert sql:variable("@xmlEntities") into (/lx:DataItemPackage/lx:Digest)[1] ') SELECT @xmlPackages
相关文章推荐
- Querying Microsoft SQL Server 2012 读书笔记:查询和管理XML数据 2 -使用XQuery 查询XML数据
- (转)sql:variable() binding and modify method of xquery: insert XML DML
- sql xml xquery (3)
- xquery:xml的sql
- Querying Microsoft SQL Server 2012 读书笔记:查询和管理XML数据 2 -使用XQuery 查询XML数据
- SQL Server XML基础学习之<5>--XQuery(query)
- SQL中的XML,XPath,XQuery查询方法
- SQL中XQuery/XML的应用
- SQL中的XML,XPath,XQuery查询方法
- Oracle XQuery 过滤XML查询SQL
- SQL中的XML,XPath,XQuery查询方法
- sql xml xquery (4)
- XQuery与SQL/XML
- sql xml xquery (1)
- T-SQL XQuery (XML路径查询) (转)http://blog.csdn.net/Beirut/article/details/8150116
- 三(一)mybatis接口映射sql 使用xml
- 如何用SQL数据支持XML
- Eclipse添加快速查找Dao中方法所对应的Mybatis XML映射SQL的插件
- java procedure streamingserver.naming-sql.xml
- mybatis处理xml中SQL语句的大于、小于、大于等于、小于等于