[본문스크랩] PL/SQL (6) - 패키지 사용의 예

오라클 | 2007. 12. 21. 15:28
Posted by 시반

###################################################################################################

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

 
블로그 이미지

시반

시반(詩伴)이란 함께 시를 짓는 벗이란 뜻을 가지고 있습니다. 함께 나눌수 있는 그런 공간이길 바라며...

카테고리

분류 전체보기 (233)
개발 이야기 (73)
WEB2.0 (57)
DB2 (24)
MySQL (6)
오라클 (26)
기타 (44)
취미 (0)
잡담 (2)