SQL 질문과 답변 게시판
안녕하세요^^
SQL2000을 사용중에 있습니다.
동적쿼리를 사용하고 있는데요
쿼리문이 4000자가 넘었습니다..
DECLARE @nvcStrSQL NVARCHAR(4000)
DECLARE @nvcStrSQL2 NVARCHAR(4000)
DECLARE @vchTemp VARCHAR(50)
DECLARE @vchSearch
SET @vchSearch = 'temp'
SET @nvcStrSQL = ''
SET @nvcStrSQL = @nvcStrSQL + ' SELECT @vchTemp=temp '
SET @nvcStrSQL2 = ''
SET @nvcStrSQL2 = @nvcStrSQL2 + ' FROM [table] '
SET @nvcStrSQL2 = @nvcStrSQL2 + ' WHERE temp=@vchSearch '
...
EXEC(' EXEC sp_executesql N'''+ @nvcStrSQL+@nvcStrSQL2 +''',N''@vchSearch VARCHAR(50),@vchTemp VARCHAR(50) OUTPUT'', @vchTemp='''+@vchTemp+''',@vchTemp=@vchTemp OUTPUT ')
대강 위와같은 소스입니다만..
vchSearch같은경우는 변수바인딩이 잘이루어져서 검색도 잘됩니다..
그런데 vchTemp값을 OUTPUT으로 받아올려니깐 @vchTemp 변수를 선언해야한다고 하네요;;
쿼리문이 4000자가 넘어서 문자열을 합쳐서 EXEC로 동적쿼리문을 실행하는경우엔 어떻게해야 변수에 컬럼값을 담아올수 있을까요??
감사합니다~~

