0~10개의 데이터를 구해서 이것을 EQUIP_CUR이라고 명하고
FETCH NEXT로 처리하면서 누적값을 구해서 리턴하는 프로시저 작성중입니다.
아래와 같이 하면.... 1개만 있을때도 @idx가 0부터 9까지 다 돌지 않나요?
FETCH NEXT에서 비효율적인것 같은데.... 좋은 방법 없을까요? ^^;;
FETCH NEXT FROM EQUIP_CUR INTO @USE_TIME
WHILE(@@FETCH_STATUS = 0)
BEGIN
--PRINT '=====>USE_TIME'
--PRINT @USE_TIME
IF @idx = 0
BEGIN
SET @RESULT = @RESULT + @USE_TIME
END
ELSE
BEGIN
IF @idx = 1
BEGIN
IF @operation1 = '+'
BEGIN
SELECT @RESULT = (@RESULT + @USE_TIME)
END
ELSE
BEGIN
SELECT @RESULT = (@RESULT - @USE_TIME)
END
END
IF @idx = 2
BEGIN
IF @operation2 = '+'
BEGIN
SELECT @RESULT = (@RESULT + @USE_TIME)
END
ELSE
BEGIN
SELECT @RESULT = (@RESULT - @USE_TIME)
END
END
IF @idx = 3
BEGIN
IF @operation3 = '+'
BEGIN
SELECT @RESULT = (@RESULT + @USE_TIME)
END
ELSE
BEGIN
SELECT @RESULT = (@RESULT - @USE_TIME)
END
END
IF @idx = 4
BEGIN
IF @operation4 = '+'
BEGIN
SELECT @RESULT = (@RESULT + @USE_TIME)
END
ELSE
BEGIN
SELECT @RESULT = (@RESULT - @USE_TIME)
END
END
IF @idx = 5
BEGIN
IF @operation5 = '+'
BEGIN
SELECT @RESULT = (@RESULT + @USE_TIME)
END
ELSE
BEGIN
SELECT @RESULT = (@RESULT - @USE_TIME)
END
END
IF @idx = 6
BEGIN
IF @operation6 = '+'
BEGIN
SELECT @RESULT = (@RESULT + @USE_TIME)
END
ELSE
BEGIN
SELECT @RESULT = (@RESULT - @USE_TIME)
END
END
IF @idx = 7
BEGIN
IF @operation7 = '+'
BEGIN
SELECT @RESULT = (@RESULT + @USE_TIME)
END
ELSE
BEGIN
SELECT @RESULT = (@RESULT - @USE_TIME)
END
END
IF @idx = 8
BEGIN
IF @operation8 = '+'
BEGIN
SELECT @RESULT = (@RESULT + @USE_TIME)
END
ELSE
BEGIN
SELECT @RESULT = (@RESULT - @USE_TIME)
END
END
IF @idx = 9
BEGIN
IF @operation9 = '+'
BEGIN
SELECT @RESULT = (@RESULT + @USE_TIME)
END
ELSE
BEGIN
SELECT @RESULT = (@RESULT - @USE_TIME)
END
END
END
SET @idx = @idx + 1
FETCH NEXT FROM EQUIP_CUR INTO @USE_TIME
END |