Ver Mensaje Individual
  #12  
Antiguo 27-12-2007
hackerinblues hackerinblues is offline
Miembro
 
Registrado: dic 2007
Posts: 17
Reputación: 0
hackerinblues Va por buen camino
Hola de nuevo, utilizo oraedit para hacer las pruebas y en el escribo lo siguiente:

Código SQL [-]
declare 
cod number := 0;
salida number;
begin 
salida := XXX(8,888,1,3,3,cod);
end;

Esto funciona perfectamente, fijate en que necesito declarar cod antes de invocar a la funcion.

Luego en mi aplicacion,en la query escribo:

select XXX(8,888,1,3,3,0) from dual

pero claro me dice que el ultimo parametro no es correcto:
ORA-06572: La función XXX tiene argumentos externos

entonces tengo que pasarle un parametro de tipo number que tengo que declarar antes pq si pongo directamente esto:

select XXX(8,888,1,3,3,cod) from dual

me contesta: "ORA-00904: \"COD\": identificador no válido"

en resumen: tengo que definir primero el parametro cod. He probado haciendo un declare primero, algo asi:

declare cod number;begin select XXX(8,888,1,3,3,cod) from dual; end;

pero me devuelve:

ORA-06550: línea 1, columna 26:\nPLS-00428: se espera una cláusula INTO en esta sentencia SELECT"

tambien he intentado crear un parametro en la query:

consulta->Parameters->CreateParameter("cod",ftInteger,pdInputOutput,20,0);

(no existe el tipo de dato number asi que he utilizado integer...)

y tampoco funciona, me contesta: ORA-00904: \"COD\": identificador no válido"


Alguna idea? Gracias
Responder Con Cita