表值参数可以是临时的吗

时间:2019-03-13 17:15:20

标签: sql sql-server tsql stored-procedures table-valued-parameters

我正在尝试创建一个存储过程,该存储过程的参数可以采用未知数量的值。为此,我使用可以查询的表值参数。我想知道是否可以将表值参数设置为临时参数,并在执行存储过程后将其删除?我尝试阅读有关该内容的信息,但根据发现的任何地方,我都没有明确指出答案是“是”还是“否”。

我将非常感谢我获得的任何帮助。谢谢!


我正在使用SQL Server2016。

我声明如下:

CREATE TYPE [schema].[tvp] AS Table ( value INT NULL)  
 GO  

CREATE PROCEDURE [schema].[procedure] ( 
@Param [tvp] READONLY 
) AS BEGIN ..

2 个答案:

答案 0 :(得分:1)

表值参数是自动临时的,在存储过程执行后将被放置在SQL Server上。在.net端,该参数也会在常规的“垃圾处理”中删除。

答案 1 :(得分:1)

参数是参数-它们仅临时保存值。在调用存储的proc时适用于int或varchar参数的内容也将适用于TVP。