T-SQL에서 디버그 시간에 테이블 변수의 값을 보는 방법은 무엇입니까?
디버그 시간 동안 SQL Server Management Studio(SSMS)의 테이블 값 변수에서 값(행 및 셀)을 볼 수 있습니까?만약 그렇다면, 어떻게?

DECLARE @v XML = (SELECT * FROM <tablename> FOR XML AUTO)
표의 내용을 보려는 지점에 위의 문을 삽입합니다.테이블의, "" "" "" XML" "" "" "" ""을 할 수 .@v시계 창으로.

Microsoft Connect 링크에 따라 아직 구현되지 않았습니다.
이 프로젝트 https://github.com/FilipDeVos/sp_select 에는 저장 프로시저가 있습니다.sp_select임시 테이블에서 선택할 수 있습니다.
용도:
exec sp_select 'tempDb..#myTempTable'
저장 프로시저를 디버깅하는 동안 새 탭을 열고 이 명령을 실행하여 임시 테이블의 내용을 볼 수 있습니다.
저장 프로시저에서 글로벌 임시 테이블 ##temptable을 만들고 저장 프로시저 내에 테이블의 데이터를 이 임시 테이블에 삽입하는 삽입 쿼리를 작성합니다.
이렇게 하면 새 쿼리 창을 열어 임시 테이블의 내용을 확인할 수 있습니다."##temptable에서 * 선택"을 사용하면 됩니다.
SQL Server 2016 이상을 사용하는 경우 JSON 결과로 선택하여 JSON Visualizer에 표시할 수도 있습니다. XML보다 읽기가 훨씬 쉬우며 결과를 필터링할 수 있습니다.
DECLARE @v nvarchar(max) = (SELECT * FROM Suppliers FOR JSON AUTO)
플러그인 없이는 불가능하다는 결론에 도달했습니다.
SQL Server Profiler 2014에는 테이블 값 매개 변수의 내용이 나열됩니다.이전 버전에서도 작동할 수 있습니다.Stored Procedures 그룹 및 TextData 열에서 SP:Starting or RPC:Completed 이벤트를 활성화합니다. 로그에서 항목을 클릭하면 테이블 변수에 대한 삽입 문이 나타납니다.그런 다음 텍스트를 복사하여 Management Studio에서 실행할 수 있습니다.
샘플 출력:
declare @p1 dbo.TableType
insert into @p1 values(N'A',N'B')
insert into @p1 values(N'C',N'D')
exec uspWhatever @PARAM=@p1
표를 선택하고 변수를 그런 식으로 보는 것이 어떻습니까?
SELECT * FROM @d
여러분, 제가 파티에 조금 늦었지만 나중에 이 질문을 우연히 발견한 사람에게 저장된 절차에서 이를 수행하는 가장 쉬운 방법은 다음과 같습니다.
- 절차 매개 변수가 선언되고 맨 위에서 초기화된 새 쿼리를 만듭니다.
- 절차 본문에 붙여넣습니다.
- 테이블 변수가 데이터로 초기화된 후 즉시 오래된 선택 쿼리를 추가합니다.
- 3이 절차의 마지막 문이 아닌 경우 동일한 줄에 중단점을 설정하고 디버깅을 시작한 후 중단점으로 바로 이동합니다.
- 이익!!
메시19의 대답은 승인된 IMHO여야 합니다. 왜냐하면 그것은 나보다 간단하고 대부분의 시간을 수행하기 때문입니다. 하지만 만약 당신이 나와 같고 당신이 검사하고 싶은 루프 안에 테이블 변수가 있다면, 이것은 큰 노력이나 외부 SSMS 플러그인 없이 그 일을 잘 수행합니다.
언급URL : https://stackoverflow.com/questions/1900857/how-to-see-the-values-of-a-table-variable-at-debug-time-in-t-sql
'programing' 카테고리의 다른 글
| 검사 제약 조건에서 날짜 사용, Oracle (0) | 2023.08.11 |
|---|---|
| 명명된 매개 변수 JdbcTemplate 대 JdbcTemplate (0) | 2023.08.11 |
| Oracle에서 날짜에 선행 0을 추가하려면 어떻게 해야 합니까? (0) | 2023.08.11 |
| org.springframework.mail.javamail을 자동으로 배선할 수 없습니다.JavaMailSender (0) | 2023.08.11 |
| ARG 또는 ENV, 이 경우 어떤 것을 사용해야 합니까? (0) | 2023.08.11 |
