복붙노트

[SQL] 어떻게 T-SQL에서 디버그 시간에 테이블 변수의 값을 볼 수?

SQL

어떻게 T-SQL에서 디버그 시간에 테이블 변수의 값을 볼 수?

우리는 디버그 시간 동안 SQL Server 관리 Studio (SSMS)의 테이블 가치 변수의 값 (행과 세포)를 볼 수 있을까요? 예라면, 어떻게?

해결법

  1. ==============================

    1.아직이 연결 Microsoft 링크를 따라 구현 아니라고 : 마이크로 소프트 연결

    아직이 연결 Microsoft 링크를 따라 구현 아니라고 : 마이크로 소프트 연결

  2. ==============================

    2.

    DECLARE @v XML = (SELECT * FROM <tablename> FOR XML AUTO)
    

    당신이 테이블의 내용을 볼하려는 지점에서 위의 문을 삽입합니다. 테이블의 내용은 지역 창에서 XML로 렌더링 될 것이다, 또는 당신은 시계 창으로 @v 추가 할 수 있습니다.

  3. ==============================

    3.이 프로젝트 https://github.com/FilipDeVos/sp_select는 임시 테이블에서 선택 가능 저장 프로 시저 sp_select 있습니다.

    이 프로젝트 https://github.com/FilipDeVos/sp_select는 임시 테이블에서 선택 가능 저장 프로 시저 sp_select 있습니다.

    용법:

    exec sp_select 'tempDb..#myTempTable'
    

    저장 프로 시저를 디버깅하는 동안 새 탭을 열고 임시 테이블의 내용을 보려면이 명령을 실행할 수 있습니다.

  4. ==============================

    4.저장된 절차는 글로벌 임시 테이블 ## TEMPTABLE을 만들고이 임시 테이블에 테이블에 데이터를 삽입하여 저장 프로 시저 내 삽입 쿼리를 작성합니다.

    저장된 절차는 글로벌 임시 테이블 ## TEMPTABLE을 만들고이 임시 테이블에 테이블에 데이터를 삽입하여 저장 프로 시저 내 삽입 쿼리를 작성합니다.

    이 작업이 완료되면 새 쿼리 창을 열어 임시 테이블의 내용을 확인할 수 있습니다. 그냥 "## TEMPTABLE SELECT * FROM"를 사용

  5. ==============================

    5.검사 할 때마다 그냥 테이블 변수를 표시하려면 선택 쿼리를 사용합니다.

    검사 할 때마다 그냥 테이블 변수를 표시하려면 선택 쿼리를 사용합니다.

    http://www.simple-talk.com/sql/learn-sql-server/management-studio-improvements-in-sql-server-2008/

  6. ==============================

    6.나는이 모든 플러그인없이 불가능하다는 결론에 도달했다.

    나는이 모든 플러그인없이 불가능하다는 결론에 도달했다.

  7. ==============================

    7.SQL Server 프로파일 러는 2014 개 목록 테이블 값 매개 변수의 내용을. 너무 이전 버전에서 작동 할 수 있습니다. SP를 사용 : 시작 또는 RPC : 저장 프로 시저 그룹은 textData 열에 완료 이벤트 및 로그에 항목을 클릭 할 때 테이블 변수에 대한 삽입 문을해야합니다. 그런 다음 텍스트를 복사하여 Management Studio에서 실행할 수 있습니다.

    SQL Server 프로파일 러는 2014 개 목록 테이블 값 매개 변수의 내용을. 너무 이전 버전에서 작동 할 수 있습니다. SP를 사용 : 시작 또는 RPC : 저장 프로 시저 그룹은 textData 열에 완료 이벤트 및 로그에 항목을 클릭 할 때 테이블 변수에 대한 삽입 문을해야합니다. 그런 다음 텍스트를 복사하여 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
    
  8. ==============================

    8.당신은 SQL 서버 2016 이상을 사용하는 경우, 당신은 또한 JSON 결과로 선택하고 JSON 비주얼에 표시 할 수 있습니다, 그것은 XML에 비해 읽어 훨씬 쉽게 및 필터 결과에 당신을 수 있습니다.

    당신은 SQL 서버 2016 이상을 사용하는 경우, 당신은 또한 JSON 결과로 선택하고 JSON 비주얼에 표시 할 수 있습니다, 그것은 XML에 비해 읽어 훨씬 쉽게 및 필터 결과에 당신을 수 있습니다.

    DECLARE @v nvarchar(max) = (SELECT * FROM Suppliers FOR JSON AUTO)
    

  9. ==============================

    9.왜 그냥 표를 선택하고 변수 방법 있음을 볼 수 없습니다?

    왜 그냥 표를 선택하고 변수 방법 있음을 볼 수 없습니다?

    SELECT * FROM @d
    
  10. ==============================

    10.죄송합니다 사람, 나는 파티에 조금 늦게 해요하지만 나중에이 질문에 걸쳐 비틀 거림, 내가 저장 프로 시저에서이 작업을 수행 할 수있는 가장 쉬운 방법을 발견 한 것을 누군가를 위해이다 :

    죄송합니다 사람, 나는 파티에 조금 늦게 해요하지만 나중에이 질문에 걸쳐 비틀 거림, 내가 저장 프로 시저에서이 작업을 수행 할 수있는 가장 쉬운 방법을 발견 한 것을 누군가를 위해이다 :

    가 나보다 간단하고 대부분의 시간의 작업을 수행하기 때문에 messi19의 대답은 허용 하나 이럴해야하지만, 당신이 저 같이하고 검사하려는 루프 내부 테이블 변수가있는 경우,이 멋지게 일을 너무 많은 노력 또는 외부 SSMS 플러그인없이.

  11. from https://stackoverflow.com/questions/1900857/how-to-see-the-values-of-a-table-variable-at-debug-time-in-t-sql by cc-by-sa and MIT license