Oracle PL/SQL에서 여러 결과 세트가 있는 저장 프로시저
Oracle PL/SQL에서 여러 결과를 반환하도록 저장 프로시저를 제작할 수 있습니다. 다양한 인수를 기반으로 설정됩니다. 이를 통해 쿼리 유연성이 향상되고 효율적인 데이터 검색이 가능해집니다. 이를 달성하기 위해 컬렉션 유형이라고도 알려진 중첩 테이블 개념이 활용됩니다.
사용자가 제공한 기준에 따라 직원 기록을 동적으로 검색하기 위해 저장 프로시저가 필요한 시나리오를 생각해 보세요. 접근 방법은 다음과 같습니다.
다음은 구현 예입니다.
TYPE emp_obj IS OBJECT (empno NUMBER, ename VARCHAR2(10)); TYPE emp_tab IS TABLE OF emp_obj; CREATE OR REPLACE FUNCTION all_emps RETURN emp_tab IS l_emp_tab emp_tab := emp_tab(); n INTEGER := 0; BEGIN FOR r IN (SELECT empno, ename FROM emp) LOOP l_emp_tab.extend; n := n + 1; l_emp_tab(n) := emp_obj(r.empno, r.ename); END LOOP; RETURN l_emp_tab; END;
이제 일반 SQL에서 이 저장 프로시저를 실행할 수 있습니다.
SELECT * FROM TABLE(all_emps);
이 쿼리는 다음을 반환합니다. 각 행이 직원 개체를 나타내는 여러 행으로 동적으로 생성된 결과 집합입니다.
위 내용은 Oracle PL/SQL 저장 프로시저가 어떻게 여러 결과 세트를 반환할 수 있습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!