在SQL Server存储过程中创建表类型参数

时间:2014-12-01 10:02:18

标签: sql sql-server table-valued-parameters

是否可以在存储过程本身中声明/创建表类型参数(TVP),而不是在模式中单独创建表值类型,然后在存储过程中使用它。即,

create procedure proc1(
@table1 table(id int) readonly
)
as 
begin
select top 1 * from sysobjects
end

1 个答案:

答案 0 :(得分:3)

来自MSDN

  

表值参数基于强类型表结构   通过使用Transact-SQL CREATE TYPE语句定义的。 您   必须创建一个表类型并在SQL Server中定义结构   在您可以在客户端中使用表值参数之前   应用

所以很明显,你不能像你想要的那样在存储过程中声明TVP - 只能通过创建用户定义的类型。