>source

저장 프로 시저 이름을 가져오고 저장 프로 시저 열과 해당 데이터 유형을 포함하는 결과를 반환하는 저장 프로 시저를 작성하고 있습니다. 그러나 우리는 저장 프로 시저의 결과를 반환하기 위해 동적 쿼리를 실행하는 데 문제가 있지만 Temp 테이블에 저장할 수 없습니다.

아래의 쿼리를 볼 수 있습니다.

DECLARE @ProcName VARCHAR(100)='spGetOraganizationsList',
  @ParamName VARCHAR(100),@DataType VARCHAR(20),
  @Query NVARCHAR(MAX)='EXEC '+'spGetOraganizationsList '
  SELECT  PARAMETER_NAME,DATA_TYPE
  INTO #Tmp
  FROM  information_schema.PARAMETERS
  WHERE [email protected]
  DECLARE ParamCursor CURSOR
  FOR SELECT * FROM #Tmp
  OPEN ParamCursor
  FETCH NEXT FROM ParamCursor
  INTO @ParamName,@DataType
  WHILE @@FETCH_STATUS= 0
  BEGIN
  SET @[email protected][email protected]+'=Null,'
  FETCH NEXT FROM ParamCursor INTO @ParamName,@DataType
  END
  CLOSE ParamCursor
  DEALLOCATE ParamCursor
  DROP TABLE #Tmp
  EXEC sp_executesql @Query

Temp 테이블에 결과를 저장할 수는 없습니다. 과OpenRowSet변수를 허용하지 않습니다.

임시 테이블에 결과를 저장할 수없는 것은 무엇입니까? 오류가 발생합니까?

Nick.McDermaid2021-07-22 03:31:33

I EXEC SP_EXECUTESQL @QUERY의 결과를 의미합니다 ... '쿼리 준비'메소드로 TEMP 테이블에 IT의 결과를 저장할 수 없습니다.

Abolfazl2021-07-22 03:31:33

스크립트 실행 후에 얻는 정확한 오류를 게시 할 수 있습니까?

mkRabbani2021-07-22 03:31:33

귀하의 질문을 편집하고, 실패한 회선과 정확한 오류 메시지를 표시 할 수 있습니까?

Nick.McDermaid2021-07-22 03:31:33

이제는 마침내 문제를 묘사했습니다. 어쩌면 당신은 대신 이것을 사용해야합니다 : docs.microsoft.com/en-us/sql/Relational-Databases/...

Nick.McDermaid2021-07-22 03:31:33
  • 이전 c# : JSON을 개체 목록으로 지정하는 중 오류가 발생했습니다
  • 다음 AWS S3 버킷을 삭제하는 동안 버킷 "XXXX"의 개체를 나열 할 수있는 권한이 충분하지 않습니다.