문제

다음이 왜 나에게 오류를 주는지 이해가 안 돼요. 나는 그것이 댓글을 달린 섹션과 관련이 있다고 생각했지만 @SQL은 nvarchar (4000)입니다.

BEGIN
  sp_executesql N'SELECT ''td'''
  --sp_executesql @SQL, N'@StartDate DateTime, @EndDate DateTime, @End2 DateTime, @Program varchar(4)', @StartDate, @EndDate, @End2, @Program
END
도움이 되었습니까?

해결책

이는 이유:

-- This works just fine:
BEGIN
  -- You must have an exec before your sp_executesql or it will not work in a block
  exec sp_executesql N'SELECT ''td'''
END

당신은 저장된 Proc를 전화없이 호출 할 수 없습니다 exec 당신이 블록에있을 때.

다른 팁

왜 이걸 시작 했는가 ... 끝에 ... SP_EXECUTESQL 외부를 실행하는 블록이 작동합니다.

선택적으로 당신은 넣을 수 있습니다 exec sp_executesql 이전.

때때로 나는 마스터를 사용해야했다.

exec master..sp_executesql 
라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top