PLS-00306 Kesalahan: Bagaimana menemukan argumen yang salah?


11

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 ..

Jawaban:


11

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.

4
Periksa juga nama parameter jika memanggilnya dengan nama. Itu baru saja membuat saya keluar.
swref

memeriksa nama parameter adalah kuncinya bagi saya, terima kasih.
Arpit Aggarwal

Itu bisa menjadi tipe Objek
Arthur
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.