我正在尝试创建一个存储过程,该存储过程的参数可以采用未知数量的值。为此,我使用可以查询的表值参数。我想知道是否可以将表值参数设置为临时参数,并在执行存储过程后将其删除?我尝试阅读有关该内容的信息,但根据发现的任何地方,我都没有明确指出答案是“是”还是“否”。
我将非常感谢我获得的任何帮助。谢谢!
我正在使用SQL Server2016。
我声明如下:
CREATE TYPE [schema].[tvp] AS Table ( value INT NULL)
GO
CREATE PROCEDURE [schema].[procedure] (
@Param [tvp] READONLY
) AS BEGIN ..
答案 0 :(得分:1)
表值参数是自动临时的,在存储过程执行后将被放置在SQL Server上。在.net端,该参数也会在常规的“垃圾处理”中删除。
答案 1 :(得分:1)
参数是参数-它们仅临时保存值。在调用存储的proc时适用于int或varchar参数的内容也将适用于TVP。