문서를 영문으로 보려면 영문 확인란을 선택하세요. 마우스 포인터를 텍스트 위로 이동시켜 팝업 창에서 영문 텍스트를 표시할 수도 있습니다.
번역
영문

OPEN(Transact-SQL)

DECLARE CURSOR 또는 SET cursor_variable 문에 지정된 Transact-SQL 문을 실행하여 Transact-SQL 서버 커서를 열고 커서를 채웁니다.

항목 링크 아이콘 Transact-SQL 구문 표기 규칙

OPEN { { [ GLOBAL ] cursor_name } | cursor_variable_name }

GLOBAL

cursor_name이 전역 커서를 참조하도록 지정합니다.

cursor_name

선언된 커서의 이름입니다. 동일한 cursor_name을 가진 전역 커서와 로컬 커서가 있는 경우 GLOBAL이 지정되면 cursor_name이 전역 커서를 참조하고 그렇지 않으면 cursor_name 이 로컬 커서를 참조합니다.

cursor_variable_name

커서를 나타내는 커서 변수의 이름입니다.

INSENSITIVE 또는 STATIC 옵션을 사용하여 커서를 선언한 경우 OPEN은 임시 테이블을 만들어 결과 집합을 보관합니다. 결과 집합에 SQL Server 테이블의 최대 행 크기를 초과하는 행이 있으면 OPEN이 실패합니다. KEYSET 옵션을 사용하여 커서를 선언하는 경우에는 OPEN이 임시 테이블을 만들어 키 집합을 보관합니다. 임시 테이블은 tempdb에 저장됩니다.

커서가 열린 후 @@CURSOR_ROWS 함수를 사용하여 마지막으로 열린 커서에서 한정하는 행 수를 받습니다.

참고 참고

SQL Server에서는 키 집합 커서 또는 정적 Transact-SQL 커서를 비동기식으로 생성할 수 없습니다. OPEN 또는 FETCH 등의 Transact-SQL 커서 작업은 일괄 처리되므로 Transact-SQL 커서를 비동기식으로 생성하지 않아도 됩니다. SQL Server에서는 각 커서 작업의 클라이언트 왕복 때문에 짧은 대기 시간 OPEN이 문제가 되는 비동기 키 집합 기반 또는 정적 API(응용 프로그래밍 인터페이스) 서버 커서를 계속 지원합니다.

다음 예에서는 커서를 열고 모든 행을 인출합니다.

DECLARE Employee_Cursor CURSOR FOR
SELECT LastName, FirstName
FROM AdventureWorks2012.HumanResources.vEmployee
WHERE LastName like 'B%';

OPEN Employee_Cursor;

FETCH NEXT FROM Employee_Cursor;
WHILE @@FETCH_STATUS = 0
BEGIN
    FETCH NEXT FROM Employee_Cursor
END;

CLOSE Employee_Cursor;
DEALLOCATE Employee_Cursor;

커뮤니티 추가 항목

추가
표시: