PLS-00306 Errore: come trovare l'argomento sbagliato?


11

PLS-00306: numero o tipi di argomenti errati nella chiamata a 'stringa'

Causa: questo errore si verifica quando la chiamata del sottoprogramma indicata non può essere associata a nessuna dichiarazione per quel nome del sottoprogramma. Il nome del sottoprogramma potrebbe essere errato, un parametro potrebbe avere un tipo di dati errato, la dichiarazione potrebbe essere errata o la dichiarazione potrebbe essere inserita in modo errato nella struttura del blocco. Ad esempio, questo errore si verifica se la funzione di radice quadrata integrata SQRT viene chiamata con un nome errato o con un parametro del tipo di dati errato.

Azione: controllare l'ortografia e la dichiarazione del nome del sottoprogramma. Conferma anche che la sua chiamata sia corretta, i suoi parametri siano del tipo di dati corretto e, se non è una funzione integrata, che la sua dichiarazione sia posizionata correttamente nella struttura a blocchi.

Come posso identificare rapidamente l'argomento sbagliato?

Ho una procedura memorizzata con dozzine di parametri. Esiste un modo semplice per verificare le differenze tra la procedura utilizzata e quella definita? Non voglio controllarlo riga per riga ..

Risposte:


11

No, non ci sono davvero scorciatoie qui. Esamina le cose nel seguente ordine:

  1. Controlla il nome della procedura.
  2. Controlla il numero di parametri.
  3. Controlla i tipi di parametri.
  4. Controllare i nomi dei parametri.

4
Controllare anche i nomi dei parametri se li si chiama per nome. Mi ha appena sorpreso.
mag

controllare il nome dei parametri è la chiave per me, grazie.
Arpit Aggarwal,

Potrebbe essere il tipo di oggetto
Arthur,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.