(Procedure Language / Structured Query Language)
-> 블록잡고 실행
-- 예시
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
exec 프로시저명(p_매개변수명의값);
select *
from user_source
where type = 'PROCEDURE' and name = '프로시저명';
-- 반드시 대문자로 쓰기!!!(프로시저명)
-> local_hr에서작업한것