[본문스크랩] PL/SQL (6) - 패키지 사용의 예
###################################################################################################
# source site : blog.naver.com/tangamjaelt
# master : 강용운
# email : tangamjaelt@korea.com
# last release : 2007.05.18
###################################################################################################
회사에서 수많은 오라클 패키지를 볼 수 있다.
내가 짠 건 아니지만, 패키지가 이런 곳에 쓰이는구나라고 처음 알게되었다.
패키지... 언뜻 책만 본 학생들은 감이 오지 않겠지만 실제 필드에서 사용되는 패키지는 강력한 도구임에 틀림없다.
DB엔 회사에 관련된 모든 정보가 저장되어 있으며, 이를 관리하는게 DBMS 이다.
DB엔 임직원들의 인사정보가 모두 들어있을 것이며,
인사부에서 사용되는 인사프로그램엔 특정인의 이름을 입력하면 그 사람의 ID가 나온다고 생각해보자.
인사프로그램에서 '사용자ID 조회'라는 메뉴가 있어서 이를 사용하여 '강용운'이란 이름을 쳐 넣으면, 정보가 나올것이다.
1. 인사프로그램은 정보를 가져오기 위해 DB에 접속하여 q_account 라는 패키지의 get_userid 프로시저를 호출하게된다.
패키지 내에는 get_userid 말고도 여러가지 프로시저가 존재하기 때문에 프로시저 이름을 반드시 지정 해주어야 한다.
인자값으로는 사용자가 입력해준 값 '강용운'이 input 된다.
2. 프로시저는 '강용운'이란 값을 받아 DB에서 userid 를 select 하여 찾아낸다.
결과를 인사프로그램에 Return 해준다.
3. 인사프로그램은 받은 결과를 예쁘게(?) 화면에 표시해준다.
중간에 체크 로직을 넣을 수도 있다.
만약, 이름이 없거나, 한글자만 들어왔다면, 프로시저에서 인자값이 잘못들어 왔음을 인사프로그램에 알리고,
이 코드를 받은 인사프로그램은 사용자에게 다시 확인하라는 메시지를 줄 수 있다.
IF v_name IS NULL or length(v_name) < 2 THEN
error code;
ELSIF
select userid, username
from user_account
where username = v_name;
END IF;
END;
'오라클' 카테고리의 다른 글
[본문스크랩] PL/SQL (8) - 오라클 내장 함수 (0) | 2007.12.21 |
---|---|
[본문스크랩] PL/SQL (7) - 조건문 사용 (0) | 2007.12.21 |
[본문스크랩] PL/SQL (5) - 함수 (0) | 2007.12.21 |
[본문스크랩] PL/SQL (4) - 연산자 (0) | 2007.12.21 |
[본문스크랩] PL/SQL (3) - 블럭 구조 (0) | 2007.12.21 |