카테고리 없음

[신탁] 커서 루프의 오라클 호출 절차

필살기쓰세요 2021. 1. 22. 00:34

루프를 원하는 경우 다음을 사용할 수 있습니다.

begin
  for x in (SELECT AUDITORID FROM SOL.GROUPS WHERE STATUS = 1) loop
        INSERT_LD_PER_AUDITOR(x.AUDITORID);
          end loop;
          end;
          

그러나 sstan이 작성한 것처럼 모든 데이터를 처리하는 절차를 리팩터링하는 것이 더 낫습니다.

-------------------

SQL 문을 통해 프로 시저를 호출 할 수 없습니다. 그리고이를 해결하는 방법은 적어도 두 가지가 있습니다. 1) pl_sql 함수 생성 및 호출 절차를 함수로 설정

create or replace function F_INSERT_LD_PER_AUDITOR (VAUDITORID NUMBER) 
   return NUMBER
   is 
   begin 
     NSERT_LD_PER_AUDITOR (VAUDITORID);
       return 0;
       end;
       /
       

그것을 함수라고 부릅니다.

SELECT F_INSERT_LD_PER_AUDITOR(AUDITORID)
    FROM SOL.GROUPS WHERE STATUS = 1;
    

2) wirte pl / sql 및 이전 주석에서와 같이 LOOP 사용



출처
https://stackoverflow.com/questions/39917038