it-swarm.asia

PLS-00306 Kesalahan: Bagaimana menemukan argumen yang salah?

PLS-00306: nomor atau tipe argumen salah dalam panggilan ke 'string'

Penyebab: Kesalahan ini terjadi ketika panggilan subprogram yang dinamai tidak dapat dicocokkan dengan pernyataan apa pun untuk nama subprogram itu. Nama subprogram mungkin salah eja, parameter mungkin memiliki tipe data yang salah, deklarasi mungkin salah, atau deklarasi mungkin ditempatkan secara tidak benar dalam struktur blok. Misalnya, kesalahan ini terjadi jika fungsi akar kuadrat bawaan SQRT disebut dengan nama yang salah eja atau dengan parameter tipe data yang salah.

Tindakan: Periksa ejaan dan deklarasi nama subprogram. Juga konfirmasikan bahwa panggilannya benar, parameternya dari tipe data yang benar, dan, jika bukan fungsi bawaan, deklarasi tersebut ditempatkan dengan benar dalam struktur blok.

Bagaimana cara saya dengan cepat mengidentifikasi argumen yang salah?

Saya memiliki prosedur tersimpan dengan puluhan parameter. Apakah ada cara mudah untuk memeriksa perbedaan antara prosedur yang digunakan dan yang ditentukan? Saya tidak ingin memeriksanya baris demi baris ..

11
Stephan Schielke

Tidak, sebenarnya tidak ada jalan pintas di sini. Periksa hal-hal dalam urutan berikut:

  1. Periksa nama prosedur.
  2. Periksa jumlah parameter.
  3. Periksa jenis parameternya.
  4. Periksa nama parameter.
11
Leigh Riffel