PL/SQL - 변수 사용법 방법1

양혜정·2024년 3월 12일

Oracle

목록 보기
42/49

PL/SQL

(Procedure Language / Structured Query Language)
-> 블록잡고 실행

Procedure

-- 예시
create or replace procedure 프로시저명
(p_매개변수명 in number)	-- p_매개변수 : 파라미터 // in 입력모드	
						//  number 유형
is
	-- 변수의 선언부	
    v_employee_id number(5);    -- 자리수를 사용한다.
    v_ename       varchar2(50); -- 자리수를 사용한다.
    v_gender      varchar2(10); -- 자리수를 사용한다.
    v_monthsal    varchar2(15); -- 자리수를 사용한다.
	-- select 되어진 결과물을 담는 것 => v_valiable
begin
    -- 명령어를 실행해주는 실행부
    select employee_id, first_name || ' ' || last_name,
      	case when substr(jubun, 7, 1) in('1','3') 
        then '남' else '여' end,
        to_char( nvl(salary + (salary * commission_pct), salary)
        										, '9,999,999')
    INTO 
        v_employee_id, v_ename, v_gender, v_monthsal 
    from employees
    where employee_id = p_employee_id;
    
    dbms_output.put_line( lpad('-',40,'-') );
    dbms_output.put_line( '사원번호    사원명   성별   월급' );
    dbms_output.put_line( lpad('-',40,'-') );
    dbms_output.put_line(v_employee_id || ' '
                            || v_ename || ' '
                            || v_gender || ' '
                            || v_monthsal);
end 프로시저명;
-- employee_id => v_employee_id
-- first_name || ' ' || last_name => v_ename
-- case 문 -> v_gender
-- to char 문 -> v_monthsal

DBMS 출력

exec 프로시저명(p_매개변수명의값);

생성되어진 Procedure 인 프로시저의 소스 알아보기

select *
from user_source
where type = 'PROCEDURE' and name = '프로시저명';
-- 반드시 대문자로 쓰기!!!(프로시저명)

정리

-> local_hr에서작업한것

0개의 댓글