当我右键单击存储过程并选择执行存储过程命令时,我应该将什么作为值传递给表值参数?
我不是在谈论 SSMS“查询”窗口。我说的是当您右键单击 SP 时显示的“执行过程”对话框。
我可以通过此屏幕直接向 SP 提供参数值吗?
这是可以做到的。例如,假设您定义了此表类型:
CREATE TYPE dbo.ContactsList AS TABLE ( ContactID VARCHAR(25) NOT NULL ); GO
您想要执行一个存储过程,该存储过程仅从 SSMS 中获取此类型的一个参数。为此,请从 SSMS 中选择“执行存储过程”,为参数值提供 JUNK 值,然后单击“确定”。这将生成执行存储过程的样板代码并给您一条错误消息。
接下来,将样板修改为类似的内容,替换@ContactIdsTableParameter
(使用您自己的变量名称)作为您之前提供的 JUNK 值:
DECLARE @ContactIdsTableParameter AS dbo.ContactsList
INSERT INTO @ContactIdsTableParameter (ContactID)
SELECT 1
INSERT INTO @ContactIdsTableParameter (ContactID)
SELECT 100002787
SELECT * FROM @ContactIdsTableParameter
DECLARE @return_value int
EXEC @return_value = [dbo].[usp_MGOAssignmentsGet]
@ContactIdsTable = @ContactIdsTableParameter
SELECT 'Return Value' = @return_value
GO
最后,执行您的上述版本<F5>
例如。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)