첫 번째 쿼리를 실행하면 5 행의 결과가 표시됩니다. row1의 값은 "Day1", 행 2는 "Day2"등입니다. 그런 다음 "Day1, Day2, Day3, Day4, Day5"와 같은 문자열에 결합하려고합니다. 하지만 저장 프로 시저를 실행하면 빈 결과가 나타납니다. 아래는 내 저장 프로 시저입니다. 어떻게 해결합니까? 감사
SET NOCOUNT ON
Declare @PeriodID nvarchar(50);
Declare @FinalString nvarchar(80);
DECLARE vendor_cursor CURSOR FOR
SELECT PeriodID FROM PeriodTable c WHERE c.Active=1
OPEN vendor_cursor
FETCH NEXT FROM vendor_cursor
INTO @PeriodID
WHILE @@FETCH_STATUS = 0
BEGIN
SELECT @FinalString = @FinalString + @PeriodID + ','
FETCH NEXT FROM vendor_cursor
INTO @PeriodID
END
CLOSE vendor_cursor;
DEALLOCATE vendor_cursor;
print @FinalString
SET NOCOUNT OFF
커서가 필요 없습니다. 변수를 먼저 빈 문자열로 설정하지 않았으므로 각 행을 null로 만드는 것이 null이었습니다. 이것은 작동합니다 :
declare @ret varchar(8000)
set @ret = ''
select @ret = @ret+', '+name
from ImagedApps
order by name
-- take off the first comma and space
select substring(@ret, 3, 8000)
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다