这篇文章主要介绍了SQL Server存储过程中使用表值作为输入参数示例,使用表值参数,可以不必创建临时表或许多参数,即可向 Transact-SQL 语句或例程(如存储过程或函数)发送多行数据,这样可以省去很多自定义的代码,需要的朋友可以参考下。
    在2008之前如果我们想要将表作为输入参数传递给SQL Server存储过程使比较困难的,可能需要很多的逻辑处理将这些表数据作为字符串或者XML传入。
    在2008中提供了表值参数。使用表值参数,可以不必创建临时表或许多参数,即可向 Transact-SQL 语句或例程(如存储过程或函数)发送多行数据,这样可以省去很多自定义的代码。这样的操作对于存储过程内基于表函数的操作变得非常容易操作。
    表值参数是使用用户定义的表类型来声明的。所以使用之前要先定义表类型。

/* 创建表类型.*/
create type XTableType as table(ID int,Names varchar(10));
go/* 创建一个存储过程以表值参数作为输入 */
create Procedure sp_test(@tp1 XTableType readonly)
as
set NoCount on
select *,getdate() from @tp1;
set NoCount off
go/* 声明表值参数变量.*/
declare @tp2 as XTableType;/* 将数据插入表值变量*/
Insert into @tp2(ID,Names)
select 1,'a'
union select 2,'b'
union select 3,'c';/* 将变量传递给存储过程*/
EXEC sp_test @tp2;
go

转载于:https://www.cnblogs.com/tohen/p/5973654.html

SQL Server存储过程中使用表值作为输入参数示例相关推荐

  1. php mssql 存储过程 输入参数,MSSQL_SQL Server存储过程中使用表值作为输入参数示例,在2008之前如果我们想要将表作 - phpStudy...

    SQL Server存储过程中使用表值作为输入参数示例 在2008之前如果我们想要将表作为输入参数传递给SQL Server存储过程使比较困难的,可能需要很多的逻辑处理将这些表数据作为字符串或者XML ...

  2. SQL Server 存储过程中使用raiserror抛出异常

    转自(SQL Server 存储过程中使用raiserror抛出异常 ) 一 系统预定义错误代码 SQL Server 有3831个预定义错误代码,由master.dbo.sysmessages 表维 ...

  3. sql server存储过程中SELECT 与 SET 对变量赋值的区别

    SQL Server 中对已经定义的变量赋值的方式用两种,分别是 SET 和 SELECT. 对于这两种方式的区别,SQL Server 联机丛书中已经有详细的说明,但很多时候我们 并没有注意,其实这 ...

  4. sql server 存储过程中使用变量表,临时表的分析(续)

    最近,我有一朋友,对我说他的数据库中的很多存储过程,执行都是超时.让我替他看看是什么原因.我一看,原来他的存储过程中用了很多的临时表与变量表.于是我跟他说过犹不及. 在存储过程中使用临时表或变量表,使 ...

  5. sql server存储过程中解决单引号的问题

    一:目的想在sql中插入''号,例如:select count(*)from user where name='tom'        a)使用转义字符:select char(39)或select ...

  6. sql 在存储过程中使用事务(转)

    本来想自己写一下,后来发现这个写的比我理解的要好,所以直接拽过来了,链接地址:https://www.cnblogs.com/RascallySnake/archive/2010/05/17/1737 ...

  7. SQL Server 2005 中的商务智能和数据仓库

    微软发布了SQL Server 2005,对于微软与BI来说这是一个非常重要的版本,它完善了微软在BI方面的产品线.SQL Server 2005以及 Visual Studio .net2005的整 ...

  8. SQL Server 2008中SQL应用系列及BI学习笔记系列--目录索引 @邀月

    邀月 的数据库学习 http://www.cnblogs.com/downmoon/archive/2011/03/10/1980172.html SQL Server 2008中SQL应用系列及BI ...

  9. SQL Server存储过程输入参数使用表值

    在2008之前如果我们想要将表作为输入参数传递给SQL Server存储过程使比较困难的,可能需要很多的逻辑处理将这些表数据作为字符串或者XML传入. 在2008中提供了表值参数.使用表值参数,可以不 ...

最新文章

  1. Mysql中查询速度的优化
  2. string match
  3. 读书笔记之《程序员必读的职业规划书》
  4. 计算机网络是将地理知识,计算机网络的基础知识精选.ppt
  5. java开发文档怎么写_程序员该不该写技术文档,怎么写文档,易懂又能提升自己...
  6. jeecgboot 前端环境搭建_如何从零开始搭建前端监控平台?
  7. bigint在java中用什么表示_即使我确信圣诞老人不存在,我却仍然每年给我的孩子们准备圣诞礼物,为什么?...
  8. html5游戏怎么做apk,如何把h5app打包成移动apk
  9. 《FLUENT 14流场分析自学手册》——2.2 FLUENT软件介绍
  10. 一个初级python web后端开发工程师的面试总结
  11. Python-通过Fidder+mumu模拟器爬取豆瓣TOP250
  12. 企业网络规划和设计方案(一)
  13. MySQL分页查询的5种方法
  14. 时钟指针角度。【问题描述】普通时钟都有时针和分针。在任意时刻,时针和分针都有一个夹角,并且假设时针和分针都是连续移动的。现已知当前的时刻,试求出在该时刻时针和分针的夹角A(0≤A≤180)。
  15. springboot整合支付宝支付
  16. 如何使用Blender制作360度全景图和全景视频?
  17. 通讯录版本1.0到3.0简易版
  18. 2023年电工杯数学建模B题 人工智能对大学生学习影响的评价 具体建模过程 代码以及思路
  19. 专业扒站利器使用介绍
  20. 工控机安装服务器系统,工控机驱动安装步骤及流程说明

热门文章

  1. 代码执行漏洞原理/防御
  2. 开源 java CMS - FreeCMS2.8 数据对象 site
  3. 从发起请求到收到响应,各个阶段的时间损耗是怎么样的?
  4. 庖丁解Puppet之操作记实
  5. GIS软件开发工具包TatukGIS Developer Kernel 发布 v11.3.0-Unstable1丨附下载 1
  6. 解决IIS数据库连接出错方法
  7. Flex DataGrid的labelFunction用法例子
  8. (12) 需求征集 -- 序列管理、编号管理
  9. LeetCode 1071. 字符串的最大公因子
  10. python Image