有的时候,我们常常需要将一个数据表格当做参数发送给存储过程,然后进行操作,以往,我常常用逗号或者其他分隔符将数据拼成一个字符传,但这个方法有限制,sql verchar类型只能达到8000字符,现在有了SQL2005了,我们可以直接用XML当做参数了,这样既方便有没有那个限制了。自己也是刚刚使用了几次,有些功能还是不是很清楚。只将自己学习的两种方法总结一下。

一种方法,当做表用,如下,返回多列。

@PeakHours xml,
DECLARE @NEWPeakHours TABLE([WeekDay] smallint,[PeakHourType] varchar(10),[StartTime] datetime,[EndTime] datetime,IsChanged bit)

INSERT INTO @NEWPeakHours
SELECT 
T.Records.query('WD').value('.','smallint') as WD,
T.Records.query('TP').value('.','varchar(10)') as TP,
T.Records.query('ST').value('.','datetime') as ST,
T.Records.query('ET').value('.','datetime') as ET,
0

from @PeakHours.nodes('/RP/PH') AS T(Records)

另外一种方法, 返回单列

select Stores.ID.value('.', 'int') as StoreId

from @Stores.nodes('/ES/ST') Stores(ID)

转载于:https://www.cnblogs.com/luking/archive/2011/05/24/2055435.html

XML类型的SQL参数相关推荐

  1. mysql中xml类型_使用 SQLXML 数据类型

    使用 SQLXML 数据类型 适用于数据库 XML 类型的 Java 数据类型 Deepak Vohra 2006 年 6 月 10 日发布 概述 J2EE 开发人员通常需要在关系数据库中存储 XML ...

  2. Mybatis源码解析:sql参数处理(3)

    入参#{}的解析 那么如果是#{}该怎么处理呢? <select id="get" resultType="com.entity.User">sel ...

  3. clickhouse配置项config.xml详解——服务器配置参数

    调研学习clickhouse,上一章介绍了clickhouse的配置项users.xml,这一章介绍另一大项config.xml 从clickhouse的官网看,clickhouse的配置参数主要分了 ...

  4. java xml sql_走进 SQL/XML

    DBA:XML 走进 SQL/XML 作者:Tim Quinlan 概览 SQL 与 XML 的互操作性,了解如何着手处理存储在数据库中的 XML 文档. 2006 年 12 月发布 XML 数据通常 ...

  5. java具名参数_Spring JDBC 框架中, 绑定 SQL 参数的另一种选择:具名参数(named parameter)...

    使用spring的jdbcTemplate-----使用具名参数 在JDBC用法中,SQL参数是用占位符?表示,并且受到位置的限制,定位参数的问题在于,一旦参数的位置发生变化,必须改变参数的绑定,在S ...

  6. 4、MyBatis + Log4j日志查看Sql参数、结果集元数据、Mapper代理开发、JDK的动态代理与CGLib代理

    文章目录 MyBatis优化开发 日志 ResultSet如何转换为Java对象 数据库元数据 结果集元数据 Fastjson 基于MyBatis的DAO开发(传统) 推荐mapper代理开发 JDK ...

  7. Mybatis中XML的文件SQL语句与动态sql标签(trim|where|set|foreach|if|choose|when|otherwise|bind)

    在xml中写sql语句有很多的规范.标准,有时候想要找对应的例子还得翻一翻以前的代码,这里干脆对遇到的情况做个记录. 一,新建XML文件 <?xml version="1.0" ...

  8. ​使用MyBatis解析出XML结构中的sql语句

    1. 功能背景 项目上有一个需求,需要根据用户手动编写的带xml的<if>.<choose>等标签的sql脚本,解析(转换)出可执行的sql脚本进行查询. PS:以下代码实现了 ...

  9. 执行多条SQL语句,执行数据库事务(可传入Sql参数)

    上篇博客,实例介绍了一个事务执行多条SQL语句函数(int ExecuteSqlTran(List<String> SQLStringList))点击打开链接,方便之余又发现了它的缺陷-- ...

最新文章

  1. KMP算法的理解,伪代码,c代码实现
  2. android富文本图片自适应,Android Span富文本图文混排 - ImageSpan(图文垂直居中)...
  3. 树形结构:迭代方式遍历树,宽度优先,先序遍历,中序遍历,后序遍历
  4. Numpy中求向量和矩阵的范数
  5. ubuntu下gcc的安装与使用
  6. 前端 javascript 数据类型 字典
  7. 用Visual C#来清空回收站(2)
  8. iQOO高层专访:打造性能旗舰 用户满意度为先
  9. 问题九:C++中::是干嘛用的(域解析操作符)
  10. php 规则路由器,ThinkPHP6路由踩坑之变量规则
  11. 队列Q----双数组下标查找
  12. linux下测硬盘读写速率,linux下测试硬盘读写速度 互联网技术圈 互联网技术圈
  13. fences卸载_【设置方法】win10系统卸载fences的学习
  14. 開關(switch)規格中,SPDT, DPDT, 3PDT, 4PDT是什麼意思?
  15. 端口扫描:zenmap工具的使用
  16. DirectX加速不可用、已禁用的解决方法
  17. STM32F10xxx20xxx21xxxL1xxxx Cortex-M3程序设计手册 阅读笔记四(3):嵌套向量中断控制器
  18. 鸡啄米VS2010/MFC编程入门教程——学习1初次接触
  19. 矩阵 Hessian
  20. 驱动开发之 LED(for mini2440)

热门文章

  1. office2010出现“此错误通常是由宏安全性设置造成的”的解决办法
  2. 使用SQLite数据库存储数据(2)-向表中插入记录
  3. MySQL列类型之——数值类型
  4. MapReduce之Partitioner的理解
  5. (41)FPGA四种常用逻辑门(异或门)
  6. (128)FPGA面试题-用一个二选一的MUX和一个非门实现异或
  7. (127)FPGA面试题-介绍FPGA 门控时钟
  8. (92)低速接口UART、IIC、SPI介绍,面试必问(十六)(第19天)
  9. 查看函数说明_Axure函数使用说明
  10. STM32F103:三.(2)红外接收