하나의 테이블을보고있는 일반 커서와 스크롤 커서가있는 실행 파일을 실행하려고합니다. CURSOR는 SCROLL CURSOR가 내부 루프를 돕는 동안 외부 루프를 추적하는 역할을합니다. 프로그램을 실행하려고하면 코드가 스크롤 커서 (예 : 'OK'가 인쇄되지만 '코드는 여기에 도달하지 않음')가 열리는 것을 멈추는 것처럼 보입니다. SQL 2008 R2를 사용하고 있습니다. 나는 매우 축소 된 버전의 코드를 실행 해 보았고 내 컴퓨터의 어떤 상황에서도 스크롤러 커서를 열 수 없기 때문에 이상한 호환성이 있는지 또는 어떤 식 으로든 잘못된 구문이 있는지 궁금해하고 있습니다. 그것은 간단하다). 그 가치에 대해, 내 코드를 테스트 할 때 다른 컴퓨터에서 스크롤 커서를 열 수있었습니다.SQL - 스크롤러 커서 열기
어떤 원인 일 수 있습니까? 내가 실행하려고하는 코드 (모든 변수의 선언에 대한 의사 코드) 아래에 복사했습니다. 미리 감사드립니다.
create proc expiration_exec2
AS
SET NOCOUNT ON
DECLARE bunch of @variables
...
DECLARE cursor_main CURSOR FOR
SELECT Member_ID,redeemed_month,activity_month,tenure_month,min_pts,expired_pts,closed_pts,tenure_quarter,enrollment_month
FROM HIST_TRIANGLE
OPEN cursor_main
FETCH NEXT FROM cursor_main
INTO @account,@r_month,@e_month,@tenure_month,@min_pts,@expired_pts,@closed_pts,@tenure_quarter,@enrollment_month
DECLARE cursor_secondary CURSOR SCROLL FOR
SELECT Member_ID,redeemed_month,activity_month,min_pts,expired_pts,closed_pts
FROM HIST_TRIANGLE
PRINT 'OK'
OPEN cursor_secondary
FETCH NEXT FROM cursor_secondary
INTO @account2,@r_month2,@e_month2,@min_pts2,@expired_pts2,@closed_pts2
PRINT 'CODE DOES NOT REACH HERE'
...
Bunch more code