"PLSQL 제어문"의 두 판 사이의 차이
DB CAFE
1번째 줄: | 1번째 줄: | ||
− | PL/SQL 제어문 | + | = PL/SQL 제어문 = |
− | + | == 조건문 == | |
− | + | === IF 문 === | |
− | + | : 조건에 따라 값이 변하는 칼럼의 변수를 지정해 줄때 | |
− | 조건문 | + | <source lang=sql> |
− | |||
− | |||
− | |||
− | |||
− | |||
− | 조건에 따라 값이 변하는 칼럼의 변수를 지정해 줄때 | ||
− | |||
:= NULL 로 세팅 | := NULL 로 세팅 | ||
− | + | </source> | |
− | IF문 조건에 쓰는 것은 변수를 써야함 | + | * IF문 조건에 쓰는 것은 변수를 써야함 |
− | + | <source lang=sql> | |
IF문 끝나면 꼭 END IF ; 적어주기 | IF문 끝나면 꼭 END IF ; 적어주기 | ||
+ | </source> | ||
− | + | === 조건이 여러개일 경우 === | |
− | + | * 문법: | |
− | + | <source lang=sql> | |
− | |||
− | 조건이 여러개일 경우 | ||
− | |||
− | |||
− | |||
− | 문법: | ||
− | |||
IF 조건 THEN | IF 조건 THEN | ||
42번째 줄: | 29번째 줄: | ||
END IF ; | END IF ; | ||
+ | |||
− | + | === 조건이 2개일 경우 === | |
− | + | * 문법: | |
− | + | <source lang=sql> | |
− | |||
− | |||
− | |||
− | 조건이 2개일 경우 | ||
− | |||
− | |||
− | |||
− | 문법: | ||
− | |||
IF 조건 THEN | IF 조건 THEN | ||
62번째 줄: | 41번째 줄: | ||
END IF ; | END IF ; | ||
+ | </source> | ||
− | + | == CASE == | |
− | + | * 조건이 여러개인 IF문을 더 간결하게 쓸 수 있음 | |
− | + | * 콤마로 구분하지 않으니까 조심하기! | |
− | + | * CASE문 끝나면 꼭 END ; 적어주기 | |
− | + | * 문법: | |
− | + | <source lang=sql> | |
− | |||
− | |||
− | |||
− | 조건이 여러개인 IF문을 더 간결하게 쓸 수 있음 | ||
− | |||
− | 콤마로 구분하지 않으니까 조심하기! | ||
− | |||
− | CASE문 끝나면 꼭 END ; 적어주기 | ||
− | |||
− | |||
− | |||
− | 문법: | ||
− | |||
CASE 조건 | CASE 조건 | ||
93번째 줄: | 60번째 줄: | ||
END ; | END ; | ||
+ | </source> | ||
+ | == 반복문 == | ||
+ | * 반복 횟수를 알 수 없는 경우 | ||
+ | ** 기본 LOOP | ||
+ | ** WHILE | ||
+ | * 반복 횟수를 지정할 경우 | ||
+ | ** FOR | ||
− | + | === 기본 LOOP === | |
− | + | * 문법: | |
− | + | <source lang=sql> | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | === | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | 문법: | ||
− | |||
LOOP | LOOP | ||
148번째 줄: | 83번째 줄: | ||
END LOOP ; | END LOOP ; | ||
+ | </source> | ||
+ | * 조건이 만족해야지 반복이 끝난다. | ||
+ | * 조건에 맞지 않으면 계속 반복 | ||
− | + | === WHILE === | |
− | + | * 문법: | |
− | + | <source lang=sql> | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | 문법: | ||
− | |||
WHILE 조건 LOOP | WHILE 조건 LOOP | ||
170번째 줄: | 98번째 줄: | ||
END LOOP ; | END LOOP ; | ||
− | + | </source> | |
− | + | * 조건이 맞아야 반복 시작 | |
− | |||
− | 조건이 맞아야 반복 시작 | ||
− | + | === FOR === | |
− | + | * 문법: | |
− | + | <source lang=sql> | |
− | |||
− | |||
− | |||
− | |||
− | 문법: | ||
− | |||
FOR 변수 IN (REVERSE) start값 .. end값 LOOP | FOR 변수 IN (REVERSE) start값 .. end값 LOOP | ||
194번째 줄: | 114번째 줄: | ||
END LOOP ; | END LOOP ; | ||
+ | </source> | ||
− | + | * REVERSE는 거꾸로 반복해야할 때 입력해주면 됨. | |
− | + | * 내림차순으로 반복된다던가 하는 것. | |
− | REVERSE는 거꾸로 반복해야할 때 입력해주면 됨. 내림차순으로 반복된다던가 하는 것. | + | * 대신 start값에서 더 큰 숫자를 써주는것이 아니라 바뀌지 않고 그대로 작은 값을 써줘야한다. |
− | + | * FOR 문은 사용할 변수는 미리 선언하지 않아도 사용가능 ** 즉, DECLARE 부문 없이 바로 BEGIN으로 시작해도 됨. | |
− | 대신 start값에서 더 큰 숫자를 써주는것이 아니라 바뀌지 않고 그대로 작은 값을 써줘야한다. | + | * 꼭 start값 end값은 숫자일 필요는 없음 |
− | |||
− | |||
− | |||
− | FOR 문은 사용할 변수는 미리 선언하지 않아도 사용가능 즉, DECLARE 부문 없이 바로 BEGIN으로 시작해도 됨. | ||
− | |||
− | 꼭 start값 end값은 숫자일 필요는 없음 | ||
[[Category:oracle]] | [[Category:oracle]] |
2023년 4월 5일 (수) 22:15 판
thumb_up 추천메뉴 바로가기
- DBA { Oracle DBA 명령어 > DBA 초급 과정 > DBA 고급 과정 }
- 튜닝 { 오라클 튜닝 목록 }
- 모델링 { 데이터 모델링 가이드 }
목차
1 PL/SQL 제어문[편집]
1.1 조건문[편집]
1.1.1 IF 문[편집]
- 조건에 따라 값이 변하는 칼럼의 변수를 지정해 줄때
:= NULL 로 세팅
- IF문 조건에 쓰는 것은 변수를 써야함
IF문 끝나면 꼭 END IF ; 적어주기
1.1.2 조건이 여러개일 경우[편집]
- 문법:
IF 조건 THEN
실행문장 ;
ELSIF 조건 THEN
실행문장 ;
ELSIF 조건 THEN
실행문장 ;
ELSE 실행문장;
END IF ;
=== 조건이 2개일 경우 ===
* 문법:
<source lang=sql>
IF 조건 THEN
실행문장 ;
ELSE 실행문장;
END IF ;
1.2 CASE[편집]
- 조건이 여러개인 IF문을 더 간결하게 쓸 수 있음
- 콤마로 구분하지 않으니까 조심하기!
- CASE문 끝나면 꼭 END ; 적어주기
- 문법:
CASE 조건
WHEN 조건1 THEN 결과1
WHEN 조건2 THEN 결과2
ELSE
END ;
1.3 반복문[편집]
- 반복 횟수를 알 수 없는 경우
- 기본 LOOP
- WHILE
- 반복 횟수를 지정할 경우
- FOR
1.3.1 기본 LOOP[편집]
- 문법:
LOOP
PL/SQL 문장 ;
PL/SQL 문장 ;
EXIT WHEN 조건 ;
END LOOP ;
- 조건이 만족해야지 반복이 끝난다.
- 조건에 맞지 않으면 계속 반복
1.3.3 FOR[편집]
- 문법:
FOR 변수 IN (REVERSE) start값 .. end값 LOOP
PL/SQL 문장 ;
PL/SQL 문장 ;
END LOOP ;
- REVERSE는 거꾸로 반복해야할 때 입력해주면 됨.
- 내림차순으로 반복된다던가 하는 것.
- 대신 start값에서 더 큰 숫자를 써주는것이 아니라 바뀌지 않고 그대로 작은 값을 써줘야한다.
- FOR 문은 사용할 변수는 미리 선언하지 않아도 사용가능 ** 즉, DECLARE 부문 없이 바로 BEGIN으로 시작해도 됨.
- 꼭 start값 end값은 숫자일 필요는 없음