有谁知道是否可以使用 Visual Studio / SQL Server Management Studio 调试器来检查传递给存储过程的表值参数的内容?
举一个简单的例子:
CREATE TYPE [dbo].[ControllerId] AS TABLE(
[id] [nvarchar](max) NOT NULL
)
GO
CREATE PROCEDURE [dbo].[test]
@controllerData [dbo].[ControllerId] READONLY
AS
BEGIN
SELECT COUNT(*) FROM @controllerData;
END
DECLARE @SampleData as [dbo].[ControllerId];
INSERT INTO @SampleData ([id]) VALUES ('test'), ('test2');
exec [dbo].[test] @SampleData;
在 exec 语句上使用上面的断点,我可以毫无问题地进入存储过程。调试器显示 @controllerData local 的值为 '(table)' 但我没有找到任何工具可以让我实际查看构成该表的行。