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;
간부 문에 중단 점과 위의를 사용하여, 나는 어떤 문제없이 저장 프로 시저로 단계 수 있어요. 디버거는 @controllerData 로컬에 '(table)'값이 있음을 보여 주지만 그 테이블을 구성하는 행을 실제로 볼 수있는 도구를 찾지 못했습니다.
SQL Server Management Studio에서 제대로 작동하는 것 같습니다. 테이블 값 매개 변수에 무엇이 있는지 전혀 모르는 것보다 낫습니다. C# 스크립트를 통해 저장 프로 시저를 디버깅하는 경우에는별로 좋지 않습니다. 귀하의 코드는 실제 출력에서 디버그 출력을 분리해야합니다. 예외가 발생하는 경우 C#에서도 분리됩니다. 예외적으로 C#을 통해 결과를 얻을 수있는 방법은 없습니다. –