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的参数看上
去和存储过程 的表变量相似。