OPEN(Snowflake Scripting)

커서를 엽니다.

커서에 대한 자세한 내용은 커서 작업하기 섹션을 참조하십시오.

참고

Snowflake Scripting 구문은 Snowflake Scripting 블록 내에서만 유효합니다.

참고 항목

DECLARE, FETCH, CLOSE

구문

OPEN <cursor_name> [ USING (bind_variable_1 [, bind_variable_2 ...] ) ] ;
Copy

여기서:

cursor_name

커서의 이름입니다.

bind_variable

바인드 변수는 커서의 쿼리 정의(예: WHERE 절에서)에 사용할 값을 보유합니다.

바인딩의 예는 이 섹션의 뒷부분에 나오는 예에 포함되어 있습니다.

사용법 노트

  • 쿼리의 결과 세트는 행 세트로 생각할 수 있습니다. 내부적으로, 커서를 열면 쿼리가 실행되고, 행을 읽고, 첫 번째 행에 대한 내부 포인터가 배치됩니다.

  • 다른 SQL 쿼리와 마찬가지로, 쿼리 정의에서 가장 바깥쪽 수준에 ORDER BY 가 포함되어 있지 않으면 결과 세트에는 정의된 순서가 없습니다. 커서에 대한 결과 세트가 만들어진 경우, 커서가 닫힐 때까지 그 순서가 유지됩니다. 그러나 커서를 다시 선언하거나 다시 열면 행이 다른 순서로 생성될 수 있습니다.

  • 유사하게, 커서가 닫힌 다음, 다시 열기 전에 기본 테이블이 업데이트되면 결과 세트도 변경될 수 있습니다.

DECLARE
    c1 CURSOR FOR SELECT price FROM invoices;
BEGIN
    OPEN c1;
    ...
Copy

다음은 커서 를 열 때 변수를 바인딩하는 방법을 보여줍니다.

DECLARE
    price_to_search_for FLOAT;
    price_count INTEGER;
    c2 CURSOR FOR SELECT COUNT(*) FROM invoices WHERE price = ?;
BEGIN
    price_to_search_for := 11.11;
    OPEN c2 USING (price_to_search_for);
Copy

커서 사용에 대한 보다 완전한 예는 소개 커서 예 를 참조하십시오.