본문 바로가기
🛠️Skill/SQL

[PL/SQL] 숫자의 합 / 입,출력하기 / 홀수, 짝수 / 분류하기 문제

by Istj_eff 2022. 10. 2.

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;
/

 

 

 

 

댓글