프로시저 커서 예제

Cód: --- | Fabricante: ---
Publicado em: Sem categoria

마지막으로 CLOSE 문을 호출하여 커서를 비활성화하고 연결된 메모리를 해제합니다: 반환된 참조 커서를 얻고 다음과 같은 레코드를 탐색합니다: 결과 `mkyong%`와 같은 사용자 이름의 레코드가 커서로 반환됩니다. getDBUSER커서 저장 절차. 다음 예제에서는 C와 같은 고급 호스트 언어로 PL/SQL을 포함하는 방법을 보여 주며 은행 직불 트랜잭션이 수행되는 방법을 보여 줍니다. 그런 다음 OPEN 문을 사용하여 커서를 엽니다. OPEN 문은 커서에 대한 결과 집합을 초기화하므로 결과 집합에서 행을 가져오기 전에 OPEN 문을 호출해야 합니다. 커서가 패키지가 아닌 선언 섹션에서 선언되면 Oracle Database는 커서가 선언된 블록이 종료될 때 자동으로 커서를 닫습니다. 그러나 커서를 명시적으로 닫는 것이 좋습니다. 커서가 패키지로 이동되면 이제 필요한 CLOSE가 이미 배치됩니다. 그리고 로컬인 경우 CLOSE 문을 포함하면 다른 개발자와 관리자에게 주의를 기울이고 있음을 보여 줍니다. 저장 프로시저, 저장된 함수 및 트리거에서 MySQL 커서를 사용할 수 있습니다. 목록 1에는 명시적 커서를 사용하여 이 논리를 구현하는 블록이 포함되며 지정된 줄 번호에서 블록의 작업을 설명합니다. 커서 변수를 파이프라인 테이블 함수(강력하지만 매우 진보된 최적화 기술)에 전달합니다. 강력한 및 약한 REF CURSOR 형식 간의 차이점을 포함하여 커서 변수에 대한 전체 설명은 이 문서의 범위를 벗어납니다.

선언 섹션에서는 세 가지 변수를 선언했습니다. 첫 번째는 n_budget으로, 초기 가치는 1,000,000이었습니다. 두 번째 변수는 cur_sales라는 커서 변수로, SELECT 문이 판매 보기에서 데이터를 검색했습니다: 가져오는 쿼리가 런타임에 따라 달라지는 경우(하지만 반드시 동적이지는 는 아님) 커서 변수를 사용하며 특히 PL/SQL 호스트가 아닌 환경으로 돌아갑니다. 완성된 것은 커서가 결과 집합의 끝에 도달했음을 나타내는 변수입니다. 처리기 선언은 저장된 프로시저 내에서 변수 및 커서 선언 후에 나타나야 합니다. BULK COLLECT를 사용하여 가져와야 할 때 명시적 커서를 사용하지만 각 가져오기와 함께 반환되는 행 수를 제한합니다. 커서는 쿼리의 결과를 가리키는 포인터입니다. PL/SQL에는 암시적 커서와 명시적 커서의 두 가지 유형의 커서가 있습니다. 이 문서에서는 PL/SQL 언어가 가장 간단한 SELECT-INTO 암시적 쿼리에서 훨씬 더 복잡한 커서 변수에 이르기까지 관계형 테이블에서 로컬 변수로 데이터를 가져오는 커서를 사용하는 다양한 방법을 제공한다는 것을 보여 주어 있습니다. MySQL 커서는 읽기 전용이며 스크롤할 수 없으며 민감합니다. 모든 행을 가져온 후 커서를 닫아야 합니다. 스크롤 없음을 사용하는 경우 커서를 뒤로 스크롤할 수 없습니다.

쿼리에서 모든 행을 가져올 때 루프의 본문이 하나 이상의 DML 문을 실행하지 않는 한 CURSOR FOR 루프를 사용합니다(INSERT, UPDATE, DELETE 또는 MERGE).

Compartilhe