728x90
if문
if (조건식) --소괄호 생략가능
then -- 시작을 표현
조건식이 참일 때 실행할 문장;
end if; -- 끝을 표현
declare
su1 number;
su2 number := 20;
begin
su1 := 23;
if(su1>su2)
then dbms_output.put_line('작다!!');
end if;
if(su1<su2)
then dbms_output.put_line('크다!!');
end if;
end;
/
- su1 := 13; —> := 대입연산자
if~else문
if 조건식
then 조건식 결과가 참일 때 실행할 문장;
else 조건식 결과가 거짓일 때 실행할 문장;
end if;
--
declare
c emp.comm%type;
vename emp.ename%type;
begin
SELECT comm,ename INTO c,vename
FROM emp WHERE empno = 7788;
if(c NOT IN(0,null))
then dbms_output.put_line(vename||'은 커미션 '||c||'을 받습니다');
else dbms_output.put_line(vename||'은 커미션을 받지않습니다');
end if;
end;
/
declare
vcomm emp.comm%type;
vename emp.ename%type;
vempno emp.empno%type;
vsal emp.sal%type;
begin
SELECT comm,ename,empno,sal INTO vcomm,vename,vempno,vsal
FROM emp WHERE empno = 7788;
if(vcomm NOT IN(0,null))
then dbms_output.put_line(vename||'은 연봉 '|| vsal*12+vcomm ||'을 받습니다');
else dbms_output.put_line(vename||'은 연봉 '|| vsal*12 ||'을 받습니다');
end if;
end;
/
if~elsif~else문
if (조건식1)
then 조건식1 참일때 실행할 문장;
elsif (조건식2)
then 조건식1이 거짓이고 2가 참일때 실행할 문장;
elsif (조건식3)
then 조건식1,2가 거짓이고 3이 참일때 실행할 문장;
else 조건식 1,2,3이 거짓일때 실행할 문장;
end if;
--
declare
vename emp.ename%type;
vdeptno emp.deptno%type;
vempno emp.empno%type;
vdname dept.dname%type;
begin
vempno := 7654;
SELECT ename, deptno INTO vename, vdeptno
FROM emp WHERE empno=vempno;
if(vdeptno = 10)
then vdname := 'ACCOUNTING';
elsif(vdeptno = 20)
then vdname := 'RESEARCH';
elsif(vdeptno = 30)
then vdname := 'SALES';
else vdname := 'OPERATIONS';
end if;
dbms_output.put_line(vempno||' 사번의 '||vename||' 사원은 '||vdname||' 부서에서 일한다.');
end;
/
'Web develop > SQL' 카테고리의 다른 글
[SQL/ORACLE] 저장 프로시저 (Stored Procedure) 형식, 사용 예제 (0) | 2019.06.16 |
---|---|
[SQL/ORACLE] PL/SQL 반복문 형식 (LOOP, FOR, 다중 FOR문,WHILE) (0) | 2019.06.16 |
[SQL/ORACLE] SEQUENCE 사용법 (+ORACLE 11g에서 사용시 설정하는법) (0) | 2019.06.15 |
[SQL/ORACLE] 제약조건 설명 및 사용법 (NOT NULL, UNIQUE, PK, FK, CHECK) (0) | 2019.06.15 |
[SQL/ORACLE] TOP-N 사용 예제 (0) | 2019.06.15 |