【发布时间】:2019-03-13 17:15:19
【问题描述】:
我正在尝试创建一个存储过程,它的参数可以采用未知数量的值。为此,我使用了一个可以查询的表值参数。我想知道是否可以让表值参数是临时的,并在执行存储过程后将其删除?我尝试阅读它,但从我发现的内容中没有明确说明答案是“是”还是“否”。
如果我得到任何帮助,我将不胜感激。谢谢!
我使用的是 SQL Server 2016。
我声明如下:
CREATE TYPE [schema].[tvp] AS Table ( value INT NULL)
GO
CREATE PROCEDURE [schema].[procedure] (
@Param [tvp] READONLY
) AS BEGIN ..
【问题讨论】:
-
我认为这回答了你的问题,stackoverflow.com/questions/5653520/…
-
您使用的是什么版本的 SQL Server?如果您使用的是 2016 或更新版本,则可以通过 NVARCHAR 参数将数据作为 JSON 传递。我的团队已经停止使用大部分 TVP 来支持这一点。
-
如何声明表值参数?您是否将其定义为用户定义的表类型?
-
@MadBert 感谢您的帮助,我会调查一下。
-
@squillman 我使用的是 2016 年。
标签: sql sql-server tsql stored-procedures table-valued-parameters