PLS-00306 Error: ¿Cómo encontrar el argumento incorrecto?


11

PLS-00306: número incorrecto o tipos de argumentos en la llamada a 'cadena'

Causa: este error se produce cuando la llamada del subprograma con nombre no puede coincidir con ninguna declaración para ese nombre de subprograma. El nombre del subprograma puede estar mal escrito, un parámetro puede tener el tipo de datos incorrecto, la declaración puede estar defectuosa o la declaración puede estar colocada incorrectamente en la estructura de bloques. Por ejemplo, este error ocurre si la función de raíz cuadrada incorporada SQRT se llama con un nombre mal escrito o con un parámetro del tipo de datos incorrecto.

Acción: Revise la ortografía y la declaración del nombre del subprograma. Confirme también que su llamada es correcta, sus parámetros son del tipo de datos correcto y, si no es una función incorporada, que su declaración se coloca correctamente en la estructura de bloques.

¿Cómo identifico rápidamente el argumento equivocado?

Tengo un procedimiento almacenado con docenas de parámetros. ¿Hay una manera fácil de verificar las diferencias entre el procedimiento utilizado y el definido? No quiero comprobarlo línea por línea.

Respuestas:


11

No, realmente no hay atajos aquí. Examine las cosas en el siguiente orden:

  1. Verifique el nombre del procedimiento.
  2. Verifique el número de parámetros.
  3. Verifique los tipos de los parámetros.
  4. Verifique los nombres de los parámetros.

44
Compruebe también los nombres de los parámetros si los llama por su nombre. Eso me sorprendió.
swref

comprobar el nombre de los parámetros es la clave para mí, gracias.
Arpit Aggarwal

Podría ser el tipo de objeto
Arthur
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.