오라클 프로시저 커서 예제

이 예제에 감사드립니다. 나는 오라클에 실패 새로운 입니다. 나는 C # 프로그래머입니다 (미안 당신은 자바 사람이야 알고). C #로 작성된 getDBUSERCursor에서 커서 정보에 액세스하고 반환하는 방법을 보여주는 샘플 코드가 있는지 궁금했습니다. 3단계에 추가된 코드에서 GETCURSORS 저장 프로시저의 세 매개 변수에 대한 정의 및 바인딩을 OracleParameter 개체로 추가하여 dep_id, employees_c 및 dependents_c라고 합니다. 커서를 열면 Oracle은 쿼리를 구문 분석하고 변수를 바인딩하며 SQL 문을 실행합니다. 또한 오라클은 실행 계획을 결정하고, 호스트 변수 및 커서 매개 변수를 SQL 문의 자리 표시자와 연결하며, 결과 집합을 결정하고, 결과 집합의 첫 번째 행으로 커서를 설정합니다. 이 Pro*C 프로그램은 오라클에 연결하고 사용자에게 부서 번호를 묻는 다음 패키지 담당자에 저장된 프로시저 get_employees를 호출합니다. 이 프로시저는 세 개의 인덱스별 테이블을 OUT 형식 매개 변수로 선언한 다음 직원 데이터 일괄 처리를 인덱스별 테이블로 가져옵니다. 일치하는 실제 매개 변수는 호스트 배열입니다. connect_Click() 메서드의 try 블록에서 cmd = 새 OracleCommand로 시작하여 두 명령 할당 줄을 바꿉니다… 코드가 표시됩니다. 다음은 Cursor를 사용하여 레코드를 조작하거나 탐색하는 Oracle 데이터베이스의 저장 프로시저 예제입니다.

무엇보다도 오라클 데이터베이스는 커서 FOR 루프를 자동으로 최적화하여 BULK COLLECT 쿼리와 유사하게 수행합니다(Oracle Magazine 2012년 9월/10월호에서 “BULK COLLECT 및 FORALL을 사용하여 대량 처리”에서 다루어집니다). 따라서 코드가 한 번에 하나의 행을 가져오는 것처럼 보이지만 Oracle Database는 실제로 한 번에 100개의 행을 가져오고 각 행을 개별적으로 작업할 수 있도록 합니다. 오라클은 암시적 커서의 전체 실행 주기를 내부적으로 관리하고 SQL%ROWCOUNT, SQL%는 이열기, SQL%FOUND 및 SQL%NOTFOUND와 같은 커서의 정보와 상태만 표시합니다. REF CURSOR는 데이터베이스의 쿼리 작업 영역의 메모리 주소인 PL/SQL 데이터 형식입니다. 기본적으로 REF CURSOR는 데이터베이스에 설정된 결과에 대한 포인터 또는 핸들입니다. REF 커솔은 오라클RefCursor ODP.NET 클래스를 통해 표현됩니다. 예제 1: 이 예제에서는 커서-FOR 루프를 사용 하 여 emp 테이블에서 모든 직원 이름을 프로젝터합니다. 커서를 닫으면 오라클은 적절한 시기에 할당된 메모리를 해제하도록 지시합니다. 실행 프로시저 창에서 dep_id에 대해 값을 60으로 입력합니다. Oracle Database를 사용하면 EXECUTE 즉시 문을 사용하여 SQL 문(및 PL/SQL 블록)을 동적으로 쉽게 실행할 수 있습니다.