패키지를 반드시 써야하는지?? 수정 될 경우...
379
작성한 질문수 6
안녕하세요. 강의 감사히 잘 듣고 있습니다.~
질문 내용은,
패키지에 작성된 함수와 프로시져는
이미 생성된 함수와 프로시져와 같은 것인데
다시 패키지에 등록해서 쓰는 게 일반적인 것인지
아니면 상황에 맞게 패키지에 등록 안 하고 함수 프로시져를 따로 쓰는 것인지
패키지에 등록을 한다면 함수나 프로시져가 수정될 때
패키지에 등록된 같은 함수&프로시져도 수정해야하는 것인지 이해가 안갑니다...
정리하자면 ,,
1..함수 등록,, 프로시져 등록, 완성 -->> 함수와 프로시져를 패키지에 등록하여 패키지로 호출하여 사용
2.. 패키지에 반드시 등록하여 써줘야 한다??
3.. 2번일 경우 함수& 프로시져가 수정됨 -->> 패키지에 등록한 함수&프로시져도 같이 수정해줘야 한다?..
답변 2
1
안녕하세요.
질문의 내용을 보니 제가 설명하면서 조금 더 부연설명을 했으면 좋았을거라는 생각이 드네요.
답변드려 보겠습니다.
1.함수 등록,, 프로시져 등록, 완성 -->> 함수와 프로시져를 패키지에 등록하여 패키지로 호출하여 사용
-> 펑션, 프로시저, 패키지는 각각의 독립된 객체와 같습니다.
일반적으로 펑선, 프로시저는 전체 시스템, 전체 PL/SQL 에서 공통으로 사용할때 선언해서 사용합니다.
패키지는 특정 프로세스에 대해 필요한 기능을 모아서 사용할때 패키지를 선언하고 그 안에 펑션, 프로시저를
사용하는 편입니다.
2.패키지에 반드시 등록하여 써줘야 한다??
-> 그렇지 않습니다.
위에 설명한대로 각 객체의 성격에 맞게 선언하여 사용하면 됩니다.
3.2번일 경우 함수& 프로시져가 수정됨 -->> 패키지에 등록한 함수&프로시져도 같이 수정해줘야 한다?..
-> 2번이 아니라고 했으니까 이부분은 넘어가구요.
혹시 혼란이 있을 것 같아 추가적으로 부연 설명 드립니다.
예를 들어
1. Function f_get_name()
2. Package P_COMM 패키지 안에 f_get_name() 펑션이 있다면
위 두개의 펑션 이름은 같습니다.
하지만, 저 두개의 펑션은 각각 독립적인 펑션입니다.
1번의 펑션은 f_get_name() 으로 사용하고
2번의 패키지내 펑션은 P_COMM.f_get_name() 으로 사용 됩니다.
펑션의 이름이 둘다 같아서 오해의 소지가 있기에 보통은 동일한 이름의 펑션은 패키지 내부에 있더라도 피하는게 올바른 작성법 입니다.
제가 질문하신 부분에 맞게 답변을 했는지 모르겠네요.
추가적으로 질문 있으시면 언제든지 올려주세요.
상품 정보 크롤링
0
14
2
강의에 적용한 스크립트를 받아 볼수 있을까요?
0
27
2
실습소실행안되요
0
27
1
수강기간 연장
0
18
1
BCNF 질문
0
40
2
연관 엔티티 네이밍 규칙
0
35
1
ORA-01017 오류 때문에 진도가 못나가고있습니다.!
0
30
2
히스토리 관련 질문
0
48
2
SSMS 설치 오류
0
43
1
제공된 홈페이지 로그인 ,출력값, 건의사항 오류
1
39
1
최신 하드웨어에서 SQL Express 설치에러 해결법
0
49
1
자료가 남지않은 프로젝트는 어떻게 적어야 할까요?
0
33
2
DECLARE 오류
0
93
2
commit시점은 어떻게 되나요?
1
205
3
트랜잭션 처리의 주체는 누가 될 것인가 에 대해서 궁금합니다.
1
106
2
PL/SQL을 사용하면 어떤 장점이 있나요?
1
219
2
Oracle 11g에서의 association 활용
1
160
1
SQL Developer 프로그램 사용 팁 질문 드립니다.
0
607
2
7-3 Explicit Cursor (명시적커서, 사용자정의커서) 질문 있습니다.
1
251
1
11gR2 에서 REAL_ORD 테이블 생성시 DEFAULT 시퀀스 문제
0
513
2
real_ord 테이블 포렌키 에러 문의
1
350
1
real_ord 테이블 행 문의 드립니다
0
236
1
11g
0
359
1
테이블 및 컬럼 설명 관련 문의
1
382
1





