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は間違っています。
この質問のテキストバージョンを探している間、私はとして正しい答えを与えるPDF版hereを発見しました。 8-)また、海賊版試験を提供している別のサイトでは、正解がBとなっています。良いニュースは、単に答えを学ぶだけでテストをハックすることができると思う人々はFAILになるということです。
出典
2011-09-10 16:26:32
APC
私は紳士がwhtベースで投票したことを知ることができますので、私はtht nxt時刻を修正してください – parmanand
正しい答えを返す、Eは正しいです、bcoz私はAと混同しています – parmanand
もう1つは "wht" 「tht」、「nxt」、および「bcoz」を含む。 –