🛠️Skill/SQL
[PL/SQL] 숫자의 합 / 입,출력하기 / 홀수, 짝수 / 분류하기 문제
Istj_eff
2022. 10. 2. 16:50
1. 숫자 2개를 입력받아 합이 결과로 출력
-
- set serveroutout on : dbms_out.put_line 결과를 화면에 출력하도록 설정
set serveroutput on accept p_num1 prompt '첫 번째 숫자 입력' accept p_num2 prompt '두 번째 숫자 입력' declare v_sum number(10); --변수 선언 begin v_sum := &p_num1 + &p_num2 ; -- 오른쪽 실행된 값이 v_sum으로 할당됨 dbms_output.put_line('총합은:' || v_sum); -- 츨력문 end; -- PL/SQL 블록 종료
2. 사원번호 물어보고 사원번호 입력받으면 해당 사원의 월급 출력
-
set serveroutput on accept p_empno prompt '사원번호 입력' declare v_sal number(10) ; begin select sal into v_sal from emp where empno = &p_empno; dbns_output.pit_line('해당 사원의 월급은' || v_sal); -- 출력문 end; / -- PL/SQL문 종료
3. 입력받은 숫자가 홀수인지 짝수인지
-
- IF ~ ELSE 문 사용
- set verify off : PL/SQL 코드 실행시 변수에 들어가는 값을 보여주는 과정을 출력하지 않도록 설정
set serveroutput on
set verify off
accept p_num prompt '숫자를 입력하세요~ '
begin
if mod(&p_num,2) = 0 then
dbms_output.put_line('짝수입니다.');
else
dbms_output.put_line('홀수입니다.');
end if;
end;
/
4. 입력받은 이름으로 해당 사원의 월급을 조회해서 고소득자, 중간소득자, 저소득자인지 분류
-
- IF ~ ELSIF ~ ELSE 문 사용
set serveroutput on
set verify off
accept p_ename prompt '사원 이름을 입력하세요 '
declare
v_ename emp.ename%type := upper('&p_ename'); -- 입력받은 사원이름을 대문자로 변환해서 v_ename에 할당
v_sal emp.sal%type;
begin
select sal into v_sal
from emp
where ename = v_ename;
if v_sal >= 3000 then
dbms_output.put_line('고소득자 입니다.'); -- 월급이 3000이상이면 고소득자 출력
elsif v_sal >= 2000 then
dbms_output.put_line('중간 소득자 입니다.'); -- 월급이 2000이상이면 중간소득자 출력
else
dbms_output.put_line('저소득자 입니다.'); -- 둘다 아니면 저소득자 출력
end if;
end;
/