나는 MS의 SQL 서버에 루프에서이while 루프를 사용하여 테이블에서 데이터를 가져 오는 방법은 무엇입니까?
BEGIN TRANSACTION
WHILE(@first <= @last)
BEGIN
Select @LineOfAuthorityNameSubString = TempLineOfAuthority from #tbTempLineOfAuthority;
Select @tbLineOfAuthorityId = LineOfAuthority
from tbLineOfAuthority where LineOfAuthorityX = @LineOfAuthorityNameSubString;
INSERT INTO tbProductLineOfAuthority(ProductId, LineOfAuthortyId)
VALUES(@tbProductId, @tbLineOfAuthorityId);
SET @first += @step
END
COMMIT TRANSACTION
이제 문제는 코드
Select @tbLineOfAuthorityId = LineOfAuthority
from tbLineOfAuthority where LineOfAuthorityX = @LineOfAuthorityNameSubString;
변수 @tbLineOfAuthorityId이 같은 점점이 라인에 같은 2008 뭔가를 저장 프로 시저를 작성했습니다 루프의 모든 시간 값. 도와주세요!
를? 그냥 하나의 삽입으로 선택 사용 그게 전부 야. – Darka
너의 대구 e는 루프의 각 루프에 대해 동일한'@ tbProductId' 및 @ tbLindeOfAuthorityId를 삽입합니다. 이는 의도 한 동작입니까? –
'@ first','@ last' 및'@step'은 루프 본문에서 사용되지 않고 반복적으로 만 본문을 실행할 수 있습니다. 루프 본문에있는 어떤 것도'@ tbLineOfAuthorityId' 값으로 설정되지 않으므로 항상 같은 값이됩니다. – Jodrell