手机
当前位置:查字典教程网 >编程开发 >mssql数据库 >SQL Server存储过程中使用表值作为输入参数示例
SQL Server存储过程中使用表值作为输入参数示例
摘要:在2008之前如果我们想要将表作为输入参数传递给SQLServer存储过程使比较困难的,可能需要很多的逻辑处理将这些表数据作为字符串或者XM...

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

在2008中提供了表值参数。使用表值参数,可以不必创建临时表或许多参数,即可向 Transact-SQL 语句或例程(如存储过程或函数)发送多行数据,这样可以省去很多自定义的代码。这样的操作对于存储过程内基于表函数的操作变得非常容易操作。

表值参数是使用用户定义的表类型来声明的。所以使用之前要先定义表类型。

/* 创建表类型.*/ CREATE TYPE LocationTableType AS TABLE ( LocationName VARCHAR(50) , CostRate INT ); GO /* 创建一个存储过程以表值参数作为输入. */ CREATE PROCEDURE dbo. usp_InsertProductionLocation @TVP LocationTableType READONLY AS SET NOCOUNT ON INSERT INTO Production.Location (Name ,CostRate ,Availability ,ModifiedDate) SELECT *, 0, GETDATE() FROM @TVP; GO /* 声明表值参数变量.*/ DECLARE @LocationTVP ASLocationTableType; /* 将数据插入表值变量*/ INSERT INTO @LocationTVP(LocationName, CostRate) SELECT Name, 0.00 FROM Person.StateProvince; /* 将变量传递给存储过程*/ EXEC usp_InsertProductionLocation@LocationTVP; GO

查询表Production.Location可以看到数据已经插入了。

【SQL Server存储过程中使用表值作为输入参数示例】相关文章:

SQL Server 2000中修改数据库COLLATE的实例

SqlServer常用函数

SQL Server 在Management Studio中使用Web浏览器

SQL Server 2005通用分页存储过程及多表联接应用

分页 SQLServer存储过程

SQL Server 使用 SET FMTONLY ON 获得表的元数据

SQL Server存储过程的基础说明

在SQLServer 2005中编写存储过程

SQL Server 2008空间数据使用教程

SQL SERVER存储过程的使用

精品推荐
分类导航