0
안녕하십니까,커서가 두 번째 값을 가져 오지 않습니다.
나는 TSQL 및 커서에 약간의 문제가 있습니다. 내 커서는 메일 수신자 목록 (보기)을 반복합니다. 내 코드는 다음과 같이 진행됩니다
set @sqlstatement = 'Declare cur CURSOR FOR SELECT ' + @col + '
FROM ' + @view + ' group by ' + @col
exec sp_executesql @sqlstatement
OPEN cur
FETCH NEXT FROM cur INTO @emailAddress
WHILE @@FETCH_STATUS = 0 BEGIN
SET @MyRecipients = @emailAddress;
SET @MyResult = Replace(@MyResult,'defg',@emailAddress)
SELECT @MyResult
IF @@ROWCOUNT > 0
begin
EXEC dbo.[Excel] @html = @html OUTPUT,@query = @MyResult
IF @html != ''
begin
EXEC msdb.dbo.sp_send_dbmail
@profile_name = 'Operator',
@recipients= @MyRecipients,
@body = @html,
@body_format = 'HTML',
@subject= @MySubject,
@copy_recipients = @MyCC
;
END
END
FETCH NEXT FROM cur INTO @emailAddress
END
Close cur
DEALLOCATE cur
그래서 내 문제는보기 2 mailadresses이있는 경우 커서가 2 번 실행 않는다는 것입니다,하지만 난 두 번 같은 메일 대신에 2 개 개의 다른 메일을 얻을. (나는 그것이 작동하는지 알기 위해 CC의 일부이다)
누군가가 약간의 아이디어를 가지고 있고 나를 도울 수 있기를 바란다.
인사말,
소울
그럼 어떻게 든 올바른 지점을 얻었고 수정할 수있었습니다. "@MyResult"의 초기화를 커서로 옮겨야했습니다. – Soulrox