問題タブ [plsql-package]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
oracle - オーバーロードの問題:エラー(83,5):PLS-00307:「REPORTEQ」の宣言が多すぎてこの呼び出しに一致しません
だから私はオーバーロードを使おうとしていますが、いくつかの問題があります。私のパッケージには、同じ名前で引数のタイプが異なる4つのプロシージャ(VARCHAR2、NUMBER、BOOLEAN、DATE)があります。パッケージヘッダーとパッケージ本体は私の質問の最後にあります。
私は次のようなパッケージ手順を使用しようとしています:
そして、私はこのコンパイルエラーを受け取ります:
どういう意味ですか?
パッケージヘッダー:
そしてパッケージ本体:
plsql - Oracle Package Specification が INVALID になるのはいつですか
私の知る限り、仕様に影響を与えることなく、パッケージ本体を置き換えて再コンパイルできます。パッケージ仕様はプロシージャと関数を定義するのではなく宣言するため、それらはオブジェクトを参照できず、パッケージ仕様が無効になる可能性があります。
スタンドアロンのサブプログラムや他のパッケージを使用してその変数を定義する場合、パッケージ仕様がオブジェクトを参照できることを私は知っています。この場合、参照オブジェクトを変更すると、仕様が無効になる可能性があります。
Oracle パッケージ仕様が (参照) オブジェクトに依存し、参照されるオブジェクトが変更された場合や別の方法で INVALID になる方法は他にありますか?