Sql server 2008 表值参数

自己在这里做个备注......

SQL SERVERE 2008 新颖之处在于表值参数(TVPS)。基本思想是数据表可以在客户端应用程序

或者T-SQL 中创建并填充。然后作力一个数据表变量传递到存储过程 或者由用户自定义的函数中。

这并不是一件要有可无的事情。

DEMO:

//订单表
CREATE
TABLE dbo.Orders( OrderId INT NOT NULL IDENTITY CONSTRAINT ORDERSPK PRIMARY KEY, OrderDate DATETIME, CustomerID INT ) //订单明细表 CREATE TABLE dbo.OrderDetails( OrderId INT NOT NULL CONSTRAINT orderdetailFkOrders REFERENCES Orders, LineNumber SMALLINT NOT NULL, ProductID INT )
---数据表类型
CREATE TYPE OrderDetailsType as TABLE
(
 LineNumber INT,
 ProductID INT,
 IsNew BIT,
 IsDirty BIT,
 IsDeleted BIT
)

一但创建了表类型。在数据库的Object Explore|Programmability|Types|User-Defined Table Types 节点下就可以看到该类型。
随着数据表类型建立。现在可能会创建引用数据表类型的存储过程。表必须要定义为有PEADONLY 选项的表类型名。TVP的参数看上

去和存储过程 的表变量相似。

 

posted @ 2013-04-15 22:03  在 水 一 方  阅读(2288)  评论(0编辑  收藏  举报