아래의 질문 솔루션은 PL/SQL을 저장할 위치에 대해 올바른 솔루션입니까?PL/SQL 블록을 저장할 위치
고객 주문에 대한 할인을 계산하는 PL/SQL 블록 코드를 생성하려고합니다. -이 코드는 여러 위치에서 호출되지만 ORDERTOTAL 프로그램 단위 내에서만 호출됩니다. 할인을 계산하는 코드를 저장하는 가장 적합한 위치는 무엇입니까?
아래의 질문 솔루션은 PL/SQL을 저장할 위치에 대해 올바른 솔루션입니까?PL/SQL 블록을 저장할 위치
고객 주문에 대한 할인을 계산하는 PL/SQL 블록 코드를 생성하려고합니다. -이 코드는 여러 위치에서 호출되지만 ORDERTOTAL 프로그램 단위 내에서만 호출됩니다. 할인을 계산하는 코드를 저장하는 가장 적합한 위치는 무엇입니까?
Ranzo notes 다른 답변들도 그럴듯합니다. 그렇다면 E의 정답은 무엇입니까? 질문은 에 가장 적합한 코드 인을 묻습니다.
하자.
로직을 여러 곳에서 호출해야합니다. 따라서 동일한 코드를 반복하지 않으므로 코드를 자체 함수로 정의해야합니다.
동시에 고객 할인 논리는 ORDERTOTAL 프로그램 단위에서만 호출됩니다. 따라서 우리는 독립 실행 형 프로 시저 또는 다른 프로그램에서 호출 할 수있는 패키지 된 함수로이를 노출하고 싶지 않습니다. 그 규칙은 A과 B입니다.
그래서 가장 적합한 장소는 ORDERTOTAL 프로그램의 선언 섹션 인 E입니다. 뭔가 같은 : ORDERTOTAL이 패키지 절차가 있다면
create procedure ordertotal
(custid in pls_integer
, orderid in pls_integer)
is
ln_running_total number;
....
function calc_discount
(custid in pls_integer)
return number
is
....
지금, 우리는 CALC_DISCOUNT() 개인 기능 (본문에 정의되어 있지만 사양에 선언되지 않음)를 만들 수있는 선택의 여지가있다. 그러나 일반적으로 가능한 한 범위를 좁히는 것이 좋습니다. 그렇지 않은 경우 나중에 다른 절차에서이 기능을 사용할 수 있습니다. 클라이언트 측에서 선언 된 물건 서버에 액세스 할 수 없습니다, 그것은 컴파일되지 않기 때문에
D 잘못이기 때문에 공식적으로
,
C은 잘못된 것입니다. 이 질문의 텍스트 버전을 검색하는 동안
"C"를 제외한 모든 것이 그럴듯합니다. 이러한 오라클 테스트는보다 세분화 된 노력의 일환으로 더 작은 것으로 나타났습니다. 개념에 대한 것이 아니라 전문 용어와 까다 롭기 때문에 오라클 DBA를 통과 할 수없는 여러 좋은 DBA를 알고 있습니다.
E가 가장 적합한 대답이며 호출 프로그램에서 서브 루틴을 현지화합니다. 핵심 단어는 지역입니다.
물론 DB 서버 (A)에도 저장되어 있습니다. 실제로는 "라이브러리"가 PL/SQL을 사용하지 않지만 코드 블록 (B - 실제로는 블록입니다. ORDERTOTAL (D) 내의 코드 블록
시험에 좋은 행운을 내고 개념에 집중하십시오.
나는 신사가 wht 기반으로 투표를했기 때문에 tht를 수정할 수 있습니다. – parmanand
올바른 대답은 정확합니다. bcoz와도 혼동합니다. – parmanand
"wht", " tht ","nxt "및"bcoz " –