私が知る限り、パッケージ本体は仕様に影響を与えずに置き換えて再コンパイルできます。パッケージ仕様はプロシージャと関数を宣言し、定義しません。オブジェクトを参照できないため、パッケージ仕様を無効にすることができます。Oracleパッケージ仕様が無効になるのはいつですか
スタンドアロンのサブプログラムや他のパッケージを使用して変数を定義するときに、パッケージ仕様がオブジェクトを参照できることは知っています。この場合、参照されるオブジェクトを変更すると、仕様が無効になることがあります。
Oracleパッケージ仕様がオブジェクトに依存する(参照)オブジェクトはどのようにして参照オブジェクトが別の方法であろうと他の方法であっても無効になりますか?
ありがとうございます。 specで宣言されたサブプログラムの引数の型としてtable.column%typeを使用すると、表のDDL操作が仕様に影響しますか?もしそうなら、あなたの答えにこれを言いなさい。 – chumakoff
@chumakoffパッケージ仕様のサブプログラムが何を意味するのかよくわかりません。しかし、一般的には、パッケージ宣言にそのような参照%タイプ(または行タイプ)がある場合、それは影響を受けるでしょう。 – Kacper
サブプログラムはプロシージャまたは関数です。パッケージ仕様で宣言するときは、そのシグニチャ、つまり引数の型と戻り値の型を記述する必要があります。例:PROCEDURE my_proc(id employees.employee_id%TYPE) – chumakoff