下面是SQL Server帮助中的示例,演示了如何执行以下操作:创建表值参数类型,声明变量来引用它,填充参数列表,然后将值传递到存储过程。
USE AdventureWorks; GO /* 创建一个table类型 */ create TYPE LocationTableType AS TABLE ( LocationName VARchar(50) , CostRate INT ); GO /* 创建一个存储过程,用于从表值参数接收数据 */ create PROCEDURE usp_insertProductionLocation @TVP LocationTableType READONLY AS SET NOcount ON insert INTO [AdventureWorks].[Production].[Location] ([Name] ,[CostRate] ,[Availability] ,[ModifiedDate]) select *, 0, GETDATE() FROM @TVP; GO /* 定义一个引用表值类型的变量 */ DECLARE @LocationTVP AS LocationTableType; /* 添加数据到表值变量 */ insert INTO @LocationTVP (LocationName, CostRate) select [Name], 0.00 FROM [AdventureWorks].[Person].[StateProvince]; /* 传递表值变量数据给存储过程 */ exec usp_insertProductionLocation @LocationTVP; GO |
9.Transact-SQL行构造函数
增强后的Transact-SQL可以允许将多个值插入单个insert语句中,语法比较简单。参考下面的代码:
/* 创建一个表 */ create TABLE dbo.T1( CustName char(20) , ProductID int , MadeFrom char(20) , Sales numeric(20, 2) ) /* 插入2行数据 */ insert INTO dbo.T1 VALUES (’Jane’,1,’China’,20.00), (’Jack’,2,’USA’,10.00) |
我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。
我原创,你原创,我们的内容世界才会更加精彩!
【所有原创内容版权均属TechTarget,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用。】
微信公众号
TechTarget
官方微博
TechTarget中国
相关推荐
-
SQL Server 2016新变化:内存中OLTP功能大改进
SQL Server 2016的许多功能得到改进,内存中OLTP(in-memory OLTP)也不例外,包括扩展性、性能以及扩展T-SQL用于使用和管理内存优化表的功能方面。
-
优化T-SQL提升SQL Server数据库性能
本文中提供了八种优化T-SQL代码避免SQL Server数据库性能瓶颈的技巧,我们可以据此优化数据库应用。
-
配置SQL Server数据库恢复模式的两种方法
本文我们讨论了配置SQL Server恢复模式的两种方式,用T-SQL或者SQL Server管理工具都可以修改恢复模式的设置。
-
用T-SQL在SQL Server 2012中创建用户自定义角色
SQL Server 2012中引入了两项功能,即创建用户自定义服务器角色和分配服务器级别的权限。本文为初级DBA给出了一个用户自定义服务器角色的示范用例。