Могут ли табличные параметры быть временными - PullRequest
1 голос
/ 13 марта 2019

Я пытаюсь создать хранимую процедуру с параметром, который может принимать неизвестное количество значений. Для этой цели я использую параметр с табличными значениями, который я могу запросить. Мне было интересно, возможно ли, чтобы параметр с табличными значениями был временным и удалялся ли он после выполнения хранимой процедуры? Я попытался прочитать об этом, но из того, что я нашел, нигде не указано, является ли ответ «Да» или «Нет».

Я был бы очень благодарен за любую помощь, которую я получил. Спасибо!


Я использую SQL Server 2016.

Я объявляю их следующим образом:

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

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

Ответы [ 2 ]

1 голос
/ 13 марта 2019

Параметры являются параметрами - они только временно содержат значения. То, что применимо к параметру int или varchar при вызове хранимой процедуры, также применимо к TVP.

1 голос
/ 13 марта 2019

Табличные значения параметров автоматически являются временными и будут удалены на SQL Server после выполнения хранимой процедуры. На стороне .net параметр также будет сброшен при обычной «обработке мусора».

...