パッケージ仕様に何かを定義すると、本体に実装する必要があることが分かります。ボディにメソッドを定義できますが、スペックは定義できませんか?Oracleパッケージの仕様と本体
2
A
答えて
9
はい、プロシージャまたはファンクションはパッケージ本体では定義できますが、パッケージ仕様では定義できません。仕様のオブジェクトはパブリックです。本体のオブジェクトはそのパッケージ専用です。
create or replace package test_package is
procedure public_procedure;
end;
/
create or replace package body test_package is
procedure private_procedure is
begin
null;
end;
procedure public_procedure is
begin
private_procedure;
end;
end;
/
がどのように
--WORKS:
begin
test_package.public_procedure;
end;
/
--FAILS WITH THIS ERROR:
-- ORA-06550: line 2, column 15:
-- PLS-00302: component 'PRIVATE_PROCEDURE' must be declared
-- ORA-06550: line 2, column 2:
begin
test_package.private_procedure;
end;
/
は、なぜあなたはこれを行うために必要となるパッケージを呼び出すために、パッケージ仕様部と本体を作成しますか?
Javaのような言語では、この質問はおそらくあまりにも明白であるため閉鎖されるでしょう。しかし、これはPL/SQLの理解できる質問です。ほとんどのPL/SQLプログラマがすべてを公開するからです。平均的なPL/SQLプログラムを見ると、「これには正当な理由があるに違いありません。
ありません。
プライベートをデフォルトにする必要があります。 が必要な場合は、他のオブジェクトやプログラマーと共有するには、が必要です。または、セッション中に何かを残す必要がある場合。
できるだけ多くの詳細を隠すためにプライベートな手順と機能を使用してください。これにより、パッケージが簡単になります。また、他のプログラムやプログラマーにパッケージを悪用する方法を少なくします。
関連する問題
- 1. SQLPLUSのクエリの問題(パッケージ仕様と本体)
- 2. シェルスクリプトを使用してパッケージ仕様と本体をコンパイルする際の問題
- 3. コントローラの仕様と仕様の仕様
- 4. Cocoapod仕様とサブ仕様別フレーム
- 5. Oracleパッケージ仕様が無効になるのはいつですか
- 6. パッケージ仕様のコンパイル中にoracle plsqlエラーが発生しました
- 7. 手順はパッケージ本体に記載されていますが、仕様ではありません
- 8. Mule:SFDC <-> Oracle Integration API仕様プロセス
- 9. kivy windowsパッケージ仕様とkvファイルと背景画像
- 10. Oracle 10gでは、パッケージ本体にエラーがあると主張しています。
- 11. OSGi仕様とJSR
- 12. カーソル 'ADD_student'のサブプログラムはパッケージ仕様で宣言されており、パッケージ本体に定義する必要があります
- 13. Clojureの仕様とレコードコンストラクタ
- 14. 仕様全体を実行するとRspecが失敗する
- 15. BDD、仕様、および "仕様レポート" xUnit.NETと?
- 16. 製品仕様と仕様を比較できる製品
- 17. htmlの仕様
- 18. Spring Data JPA - 仕様とQuerydsl
- 19. エラー:ファイルrandom.ads(パッケージ仕様)のコードを生成できません
- 20. Adaの効率的で合理的なパッケージ仕様(ADS)構造
- 21. ORM - JPA仕様の本質的部分です
- 22. リアルタイムJava仕様
- 23. MVC仕様
- 24. ADT仕様
- 25. UIActionSheet UI仕様
- 26. ジャスミン仕様
- 27. PHP ws- *仕様
- 28. インポート仕様vba
- 29. アセンブリパブリッシャー仕様
- 30. ブレークパッドミニダンプ仕様?
ありがとうございます。あなたの答えはそれを超えました! –