While 루프에서 select 쿼리를 실행하려고하지만 작동하지 않습니다. 중,While 루프에서 저장 프로 시저 Select 문
Set @q_getoldeMail = 'SELECT Lower('[email protected]+') FROM (
SELECT ROW_NUMBER() OVER (ORDER BY ID) AS rownumber
,ID
,[Name]
,[Description]
,[Status]
,[AssignedTo]
,[AssignedToMail]
,[CC]
FROM ' + QUOTENAME(@tablename) + ') AS ar Where rownumber = '[email protected]+''
exec sp_executesql @q_getoldeMail, N'@get_oldeMail nvarchar(100) output', @get_oldeMail output
그것은 작동하지 않습니다 : 다른 측면에서
Set @i = 1
While(@i <= @rowNumber)
BEGIN
Set @q_getoldeMail = 'SELECT Lower('[email protected]+') FROM (
SELECT ROW_NUMBER() OVER (ORDER BY ID) AS rownumber
,ID
,[Name]
,[Description]
,[Status]
,[AssignedTo]
,[AssignedToMail]
,[CC]
FROM ' + QUOTENAME(@tablename) + ') AS ar Where rownumber = '[email protected]+''
exec sp_executesql @q_getoldeMail, N'@get_oldeMail nvarchar(100) output', @get_oldeMail output
Set @i = @i+1
는이 같은 루프 동안하지 않고 쿼리를 실행했습니다. 내 실수는 무엇입니까? While 루프를 사용하여 문을 Select
에서 가져 오는 방법이 있습니까? 너 나 좀 도와 줄 수있어?
편집 :
는이 코드 부분에 값을 설정 @RowCount :SET @q_getrowNumber = 'SELECT Count(ID)
FROM dbo.' + quotename(@tablename) + ''
execute sp_executesql @q_getrowNumber, N'@rownumber int output', @rownumber output
이 코드 부분에 값 (112)을 반환한다. 그러나 내가 계산을 바꿀 때
Set @rowcount = 2
그 다음 코드는 작동한다. 나는 @RowCount을 정수로 변환하려고하지만
설명 해주십시오. 어떤 종류의 행동이나 오류 메시지가 나옵니까? –
무엇을 의미합니까 - "작동하지 않습니다". ??? – valex
실수는 While while while while while (i = rowNumber) @ i 값을 늘리려고 할 때 i = i + 1 루프가되어 여전히 i <= rowNumber인지 확인합니다. rownumber 받기 –