Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General »

Error al llamar a procedimiento PL (invalid assignment target)

Estas en el tema de Error al llamar a procedimiento PL (invalid assignment target) en el foro de Bases de Datos General en Foros del Web. Hola a todos, estoy realizando un programa en php en el que tengo que llamar a un procedimiento en PL/SQL. La cabecera de la función ...
  #1 (permalink)  
Antiguo 16/12/2010, 12:13
 
Fecha de Ingreso: enero-2010
Mensajes: 69
Antigüedad: 14 años, 9 meses
Puntos: 0
Error al llamar a procedimiento PL (invalid assignment target)

Hola a todos,

estoy realizando un programa en php en el que tengo que llamar a un procedimiento en PL/SQL. La cabecera de la función es la siguiente:

Código PHP:
RIOT.Calcular(numero IN varchar2total OUT integer
El primer parámetro, "numero", es un identificador a partir del cual el procedimiento calcula un "total", que debería almacenar en la variable de salida $total, de esta forma:

Código PHP:
$total="-00001"
$PLSql "begin SPEC.Calcular('8165', ".$total.");end;"
obteniendo el siguiente código de error:

Código PHP:
ORA-06550línea 1columna 41PLS-00363la expresión '-00001' no se puede utilizar como destino de asignación 
He probado a igual $total a "", null, "-10000", etc., pero siempre obtengo el mismo error. ¿Me podría alguien decir qué puedo utilizar como destino de asignación? Aunque lo estoy programando en PHP, todo me parece decir que el error lo estoy cometiendo en la llamada al procedimiento.

Espero que me podáis ayudar,
muchísimas gracias

Saludos
  #2 (permalink)  
Antiguo 16/12/2010, 13:13
Avatar de huesos52
Colaborador
 
Fecha de Ingreso: febrero-2009
Ubicación: Manizales - Colombia
Mensajes: 5.980
Antigüedad: 15 años, 9 meses
Puntos: 360
Respuesta: Error al llamar a procedimiento PL (invalid assignment target)

el mensaje dice que la variable de entrada es de asignación.

No puedes tener una variable llamada -00001. Cambia esto por una palabra o una secuencia de caracteres.

saludos
__________________
Without data, You are another person with an opinion.
W. Edwads Deming
  #3 (permalink)  
Antiguo 20/12/2010, 09:57
 
Fecha de Ingreso: enero-2010
Mensajes: 69
Antigüedad: 14 años, 9 meses
Puntos: 0
Respuesta: Error al llamar a procedimiento PL (invalid assignment target)

Gracias huesos, ya está solucionado. Mi variable no se llamaba "-00001", sino $total, cuyo valor (necesario para que se reservara memoria) era "-00001". El error estaba en que se estaba perdiendo por el camino el include de las variables bind, con lo que al hacer el OCI_Execute me daba ese error.

Todo se ha solucionado al repetir el "include variables_bind.php" dentro de la función, algo que cuando escribí el mensaje anterior ni siquiera se me había pasado por la cabeza.

Muchas gracias de todas formas por tu ayuda,

saludos!

Etiquetas: llamar, procedimiento, target
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 09:00.