Oracle 저장 프로시저의 루프 문: 1. LOOP 루프, 구문은 "루프 루프 본문, 종료 WHEN 루프 조건식 종료, END LOOP;"입니다. 2. WHILE 루프, 구문은 "조건식 루프 루프 문; end loop;"; 3. for 루프의 경우 구문은 "변수 IN(역방향) 카운터 하한값...카운터 상한값 LOOP 루프 본문;END LOOP;"입니다.
이 튜토리얼의 운영 환경: Windows 10 시스템, Oracle 버전 12c, Dell G3 컴퓨터.
프로그램이 특정 작업을 반복적으로 수행해야 하는 경우 루프 구조를 사용해야 합니다. PL/SQL의 루프문에는 크게 LOOP문, WHERE문, FOR문의 세 가지 유형이 있습니다.
LOOP 문은 먼저 루프 본문을 한 번 실행한 다음 EXIT WHEN 키워드 뒤의 조건식이 true인지 false인지 확인합니다. true이면 루프 본문을 종료합니다. 그렇지 않으면 프로그램이 종료됩니다. 루프 본문을 다시 실행하십시오.
기본 구문:
loop A; EXIT WHEN B; END LOOP;
A: 루프 본문의 SQL 문을 나타냅니다. 이는 한 문장 또는 여러 문장일 수 있습니다. 이는 루프 본문의 핵심 부분입니다.
B: 루프 종료 조건 표현식이 true이면 루프를 종료하고, 그렇지 않으면 루프 본문을 다시 실행합니다.
코드 예:
-- Created on 2020/12/16 by GUO declare i int:= 0; begin loop i:=i+1; dbms_output.put_line(i); EXIT WHEN i > 3; END LOOP; end;
실행 결과:
실제 예:
Loop + 커서를 사용할 때 커서의 값을 다시 할당해야 하며, 그렇지 않으면 오류가 보고됩니다.
-- Created on 2020/12/17 by GUO declare cursor user is select * from user_table; user1 user_table%rowtype; begin open user; loop fetch user into user1; exit when user%notfound; dbms_output.put_line('用户名称:' || user1.USER_NAME); dbms_output.put_line('用户年龄:' || user1.USER_AGE); end loop; close user; --关闭游标 end;
실행하기 전에 먼저 조건식의 값이 true인지 확인해야 합니다. true이면 루프 본문을 실행합니다. 그렇지 않으면 WHILE 루프를 종료하고 루프 뒤의 코드를 계속 실행합니다.
기본 구문:
while a loop b; end loop;
A: 조건식을 나타냅니다. 값이 true이면 프로그램은 루프 본문을 실행하고 그렇지 않으면 종료됩니다.
B: 루프 본문의 SQL 문입니다.
코드 예:
-- Created on 2020/12/17 by GUO declare i int := 0; begin while i < 3 loop i := i + 1; dbms_output.put_line(i); end loop; end;
실행 결과:
실제 예:
-- Created on 2020/12/17 by GUO declare cursor user is select * from user_table; user1 user_table%rowtype; begin open user; fetch user into user1; while(user%found)loop dbms_output.put_line('用户名称:' || user1.USER_NAME); fetch user into user1; end loop; end;
FOR 문은 루프 수를 미리 설정할 수 있는 루프 제어 문입니다. 카운터, 일반적으로 정수 변수이며 이 카운터를 통해 루프 수를 제어합니다.
기본 구문:
for A IN (reverse) B...C LOOP D; END LOOP;
A: 카운터로 사용되는 변수(일반적으로 인증서 유형)를 나타냅니다. 기본값은 루프에서 reverse 키워드를 사용하면 감소합니다.
B: 카운터 하한값. 카운터 값이 하한값보다 작으면 루프가 종료됩니다.
C: 카운터의 상한. 카운터 값이 상한보다 크면 루프가 종료됩니다.
D: 루프 바디. +
위 내용은 Oracle 저장 프로시저의 루프 문은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!