Pertanyaan Kapan Spesifikasi Paket Oracle menjadi INVALID


Sejauh yang saya tahu tubuh paket dapat diganti dan dikompilasi ulang tanpa mempengaruhi spesifikasi. Spesifikasi paket menyatakan prosedur dan fungsi, tidak mendefinisikannya, sehingga mereka tidak dapat mereferensikan objek, yang dapat membuat spesifikasi paket INVALID.

Saya tahu bahwa spesifikasi paket dapat merujuk objek ketika menggunakan subprogram yang berdiri sendiri dan paket lain untuk mendefinisikan variabelnya. Dalam hal ini mengubah objek yang direferensikan dapat menyebabkan pembatalan spesifikasi.

Apakah ada cara lain bagaimana spesifikasi paket Oracle dapat bergantung pada (referensi) objek dan menjadi INVALID apakah ketika benda yang direferensikan berkumpul atau dengan cara lain?


4
2017-10-28 00:11


asal


Jawaban:


Dalam spesifikasi dapat didefinisikan variabel atau tipe. Jika variabel adalah spesifikasi paket tipe table.column% dapat dipengaruhi oleh operasi ddl pada tabel yang digunakan untuk mendefinisikan variabel. Situasi yang sama adalah ketika di header paket kami mendefinisikan kursor.

Saya juga akan berhati-hati dengan sinonim swapping baik dalam hal tabel yang direferensikan oleh definisi variabel dan jenis yang digunakan dalam header.

Skenario selanjutnya adalah hak istimewa. Jika pemilik paket akan kehilangan beberapa hibah (katakanlah karena meja membuat ulang) spesifikasi paket juga bisa menjadi tidak valid.

Saya harap apa yang saya tulis itu masuk akal.


2
2017-10-28 07:15