[현상]
커서가 이미 존재 하는 에러가 발생한다.
[조치 방법]
일반적인 커서 정의와 패치 형태에서 에러가 발생하게 되면, 에러시에 처리를 해주지 않으면,
커서가 존재해서 다시 사용이 안되는 현상으로 정상 쿼리가 수행되지 않는다.
[변경전]
DECLARE @b_value
BEGIN TRY
DECLARE a_cursor FOR
SELECT a.bvalue FROM a_table
OPEN a_cursor
FETCH NEXT FROM a_cursor
into @b_value
WHILE @@FETCH_STATUS = 0
BEGIN
-- 수행 문.....
--- 에러 발생한다면....
-- 수행 문....
FETCH NEXT FROM a_cursor
into @b_value
END
CLOSE a_cursor
DEALLOCATE a_cursor
END TRY
BEGIN CATCH
-- ...
END CATCH
[변경후]
DECLARE @b_value
BEGIN TRY
DECLARE a_cursor FOR
SELECT a.bvalue FROM a_table
OPEN a_cursor
FETCH NEXT FROM a_cursor
into @b_value
WHILE @@FETCH_STATUS = 0
BEGIN
-- 수행 문.....
--- 에러 발생한다면....
-- 수행 문....
FETCH NEXT FROM a_cursor
into @b_value
END
CLOSE a_cursor
DEALLOCATE a_cursor
END TRY
BEGIN CATCH
-- ...
if CURSOR_STATUS('global','a_cursor') >= 0
BEGIN
CLOSE a_cursor
DEALLOCATE a_cursor
END
END CATCH
'온라인게임' 카테고리의 다른 글
Outer Join (0) | 2011.04.29 |
---|---|
스마트폰 게임 순위 (0) | 2011.04.29 |
physics editor / cocos2d , box2d / iphone (0) | 2011.04.14 |
Cocos2D에서 사용하는 스프라이트 애니메이션 만들기 2/2 (0) | 2011.04.12 |
Cocos2D에서 사용하는 스프라이트 애니메이션 만들기 1/2 (0) | 2011.04.12 |