2011-09-09 18 views
-6

PL/SQLを格納する場所は、以下の質問の解決方法が正しいですか。PL/SQLブロックを格納する場所

お客様の注文に対する割引を計算するPL/SQLブロックCOFコードを作成する必要があります。 - このコードはいくつかの場所から呼び出されますが、プログラム単位ORDERTOTAL内でのみ呼び出されます。 割引を計算するコードを格納する最も適切な場所は何ですか? "C" を除く

A. A stored procedure on the server. 
B. A block of code in PL/SQL library. 
C. A standalone procedure on the client machine. 
D. A block of code in the body of the program unit ORDERTOTAL. 
E. A local subprogram defined within the program unit ORDERTOTAL. 

ANSWER: E 
+1

私は紳士がwhtベースで投票したことを知ることができますので、私はtht nxt時刻を修正してください – parmanand

+0

正しい答えを返す、Eは正しいです、bcoz私はAと混同しています – parmanand

+4

もう1つは "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

すべてはもっともらしいです。これらのオラクルのテストは、より難しくするために、細目に分かれています。私はコンセプトについてではなく専門用語やトリッキーなものであるため、それらを渡すことができないいくつかの優れたOracle DBAを知っています。

Eは最良の答えです。呼び出しプログラムでサブルーチンをローカライズします。キーワードはローカルです。

もちろん、DBサーバー(A)にも格納されていますが、実際はコードブロックです(B-ライブラリはPL/SQLではありませんが)。 ORDERTOTAL(D)内のコードブロック。

あなたのテストで幸運を祈って、その概念に集中してください。

+1

'ライブラリ'は、一般的なForms PL/SQLプロシージャが別のファイルに格納されるOracle Formsの概念です。 –

+0

@Gary - "PL/SQLパッケージ"を意味するライブラリを使用していることは確かです – APC

+0

実際にはAとEのみが考えられます。 – APC

関連する問題