DB에서 function 역할을 담당하게 되는 오라클 프로시저 기능과 활용법에 대해서 알아보겠습니다.
1. 프로시저란?
- PL-SQL문의 하나로 JAVA의 메소드와 비슷한 기능으로 특정 작업을 수행하고 결과값을 리턴함
- 매개변수를 받을 수 있으며 반복적인 작업을 수행할 수 있음
2. 생성
DB가 오라클일 경우는 기본적으로 SQL-PLUS를 통해서 작성하지만 이번 강좌에서는 토드를 사용하겠습니다.
토드를 통해서 오라클 프로시저를 생성하면 보다 쉽게 프로시저의 생성 보기 수정 등이 가능합니다.(프로그램이 없는 분은 토드 무료 설치 포스팅 참조)
토드를 켜시고 상단의 메뉴에서 Editor -> New Tab -> PL/SQL Style로 이동하면 오라클 프로시저를 생성할 수 있는 시트가 나옵니다.
CREATE OR REPLACE d Sel_name (input_no in emp.empno%type) IS result_name emp.ename%type; BEGIN SELECT ename into result_name FROM emp where empno = input_no; dbms_output.put_line('결과 : '||result_name); END;
위의 구문은 직원번호를 입력받고 그 직원번호가 emp테이블에 존재할 경우 그 직원의 이름을 뽑아 결과로 보여주는 예제입니다.
3. 프로시저 설명
create 구문을 통해 프로시저 이름을 Sel_name으로 지정하여 입력받을 변수값은 input_no으로 타입은 emp테이블의 empno로 합니다. 즉 number입니다.
테이블의 empno가 number타입으로 되어있습니다. 물론 이렇게 지정하지 않고도 바로 number로 지정해도 됩니다. (input_no in number)
그리고 수행 결과를 result_name으로 지정하고 변수 타입을 지정해 줍니다.
begin부분은 sql의 시작 부분을 작성해 주시면 됩니다. 변수로 받은 input_no와 맞는 empno를 갖는 직원이름을 select하고 그 결과를 result_name에 담았고
dbms_output.put_line(출력)을 통해 결과를 출력하였습니다. 작성이 완료되었으면 토드에서 해당 프로시저를 블록 지정해 주시고 F5를 눌러주시면 끝입니다.
수정하는 방법도 작성된 코드를 수정하시고 다시 F5를 눌러주시면 테이블과는 달리 해당 이름이 있다는 에러 없이 기존 프로시저 이름에 수정되어 반영이 됩니다.
4. 실행
실행 방법은 execute name(변수) 입니다.
execute Sel_name(7900) execute Sel_name(9999)
execute 명령어를 통해서 실행시켜본 결과입니다.
Sel_name을 호출하면서 직원번호를 변수로 넘겼고 해당 직원번호로 오라클 프로시저가 실행되면서 결과가 나타났습니다.
5. 삭제
토드의 상단메뉴에서 Schema Browser를 클릭합니다. 여기서 각종 PL-SQL을 추가 실행 보기 삭제 다 할수 있습니다.
또한, 이 Schema Browser는 굉장히 유용한 기능이므로 둘러보면서 잘 익혀두는 편이 좋습니다.
그리고 새 SQL시트에서 Sel_name만 적고 F4를 눌르시면 자동으로 해당 Schema Browser 실행되어 간편하게 수정/보기가 가능합니다.
이상으로 오라클 프로시저 생성과 사용방법에 대해서 알아보았습니다.
답글 남기기