2011-09-09 2 views
-6

아래의 질문 솔루션은 PL/SQL을 저장할 위치에 대해 올바른 솔루션입니까?PL/SQL 블록을 저장할 위치

고객 주문에 대한 할인을 계산하는 PL/SQL 블록 코드를 생성하려고합니다. -이 코드는 여러 위치에서 호출되지만 ORDERTOTAL 프로그램 단위 내에서만 호출됩니다. 할인을 계산하는 코드를 저장하는 가장 적합한 위치는 무엇입니까?

+1

나는 신사가 wht 기반으로 투표를했기 때문에 tht를 수정할 수 있습니다. – parmanand

+0

올바른 대답은 정확합니다. bcoz와도 혼동합니다. – parmanand

+4

"wht", " tht ","nxt "및"bcoz " –

답변

2

Ranzo notes 다른 답변들도 그럴듯합니다. 그렇다면 E의 정답은 무엇입니까? 질문은 에 가장 적합한 코드 인을 묻습니다.

하자.

로직을 여러 곳에서 호출해야합니다. 따라서 동일한 코드를 반복하지 않으므로 코드를 자체 함수로 정의해야합니다.

동시에 고객 할인 논리는 ORDERTOTAL 프로그램 단위에서만 호출됩니다. 따라서 우리는 독립 실행 형 프로 시저 또는 다른 프로그램에서 호출 할 수있는 패키지 된 함수로이를 노출하고 싶지 않습니다. 그 규칙은 AB입니다.

그래서 가장 적합한 장소는 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은 잘못된 것입니다. 이 질문의 텍스트 버전을 검색하는 동안

, 나는 로 정답을 제공하는 PDF 버전 here을 발견했다. 8-) 그리고 해적판 시험을 제공하는 또 다른 사이트는 정답이 B이라고 말합니다.좋은 소식은 대답을 배우는 것만으로 테스트를 해킹 할 수 있다고 생각하는 사람들은 FAIL이 될 것입니다.

0

"C"를 제외한 모든 것이 그럴듯합니다. 이러한 오라클 테스트는보다 세분화 된 노력의 일환으로 더 작은 것으로 나타났습니다. 개념에 대한 것이 아니라 전문 용어와 까다 롭기 때문에 오라클 DBA를 통과 할 수없는 여러 좋은 DBA를 알고 있습니다.

E가 가장 적합한 대답이며 호출 프로그램에서 서브 루틴을 현지화합니다. 핵심 단어는 지역입니다.

물론 DB 서버 (A)에도 저장되어 있습니다. 실제로는 "라이브러리"가 PL/SQL을 사용하지 않지만 코드 블록 (B - 실제로는 블록입니다. ORDERTOTAL (D) 내의 코드 블록

시험에 좋은 행운을 내고 개념에 집중하십시오.

+1

'라이브러리'는 일반적인 Forms PL/SQL 프로 시저가 별도의 파일에 저장되는 Oracle Forms 개념입니다. –

+0

@Gary - "PL/SQL 패키지"를 의미하는 라이브러리를 사용하고 있다고 확신합니다. – APC

+0

실제로 A와 E 만 가능합니다. – APC

관련 문제