티스토리 뷰
<나이대에 따라 다른 문구 출력하기>
1 Declare
2 v_myage number :=&emp;
3 Begin
4 if v_myage < 11 then
5 dbms_output.put_line ('I am a child');
6 elsif v_myage < 20 then
7 dbms_output.put_line ('I am young');
8 elsif v_myage < 30 then
9 dbms_output.put_line ('I am in my twenties');
10 elsif v_myage < 40 then
11 dbms_output.put_line ('I am in my thirties');
12 else
13 dbms_output.put_line ('I am always young');
14 end if;
15 End;
-----------------------------------------------------------------------------------------
<사원번호 입력하면 상여금 얼마인지 출력>
declare
v_eid employees.employee_id%type := &eid;
v_sal employees.salary%type;
v_bper number(2,2);
v_bonus number(7,2);
begin
select salary
into v_sal
from employees
where employee_id = v_eid;
if v_sal < 5000 then v_bper := 0.1;
elsif v_sal between 5000 and 10000 then v_bper := 0.15;
elsif v_sal > 10000 then v_bper := 0.2;
else v_bper := 0;
end if;
b_bonus := v_sal * v_bper;
dbms_output.put_line(v_eid || ' ' || v_sal || ' '|| v_bper|| ' ' || v_bonus);
-----------------------------------------------------------------------------------------
-----------------------------------------------------------------------------------------
-----------------------------------------------------------------------------------------
-----------------------------------------------------------------------------------------
-----------------------------------------------------------------------------------------
------------------------------------------------------
7. employees 테이블을 기반으로 emp 테이블을 생성 후 샐러리 1000불당 *로 표시하기
DECLARE
v_empno emp.empno%type := &eid;
v_sal emp.sal%type;
v_star_num number;
v_star emp.start%type;
BEGIN
SELECT sal
INTO v_sal
FROM emp
WHERE empno = v_empno;
v_star_num := trunc(v_sal/1000);
for i in 1..v_star_num loop
v_star := v_star||'*';
end loop;
dbms_output..put_line (v_star);
END;
'개발언어 > PL SQL' 카테고리의 다른 글
해석해보기 (0) | 2018.03.30 |
---|---|
SQL 연습 문제 (0) | 2018.03.30 |
180327 연습문제 4장 (0) | 2018.03.27 |
180327 입력한 사원번호에 해당하는 사원 연봉계산 (0) | 2018.03.27 |
180326 사원번호 입력 받아서 부서 번호 출력하기 (0) | 2018.03.26 |