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

Ayuda ORA-00923

Estas en el tema de Ayuda ORA-00923 en el foro de Oracle en Foros del Web. Hola como bien dice el titulo tengo problemas con el ora-00923, sucede lo siguiente he realizado una funcion q me retorna un numero esta funciona ...
  #1 (permalink)  
Antiguo 09/01/2008, 13:01
Avatar de rmarinsd  
Fecha de Ingreso: septiembre-2007
Mensajes: 78
Antigüedad: 17 años, 3 meses
Puntos: 0
Ayuda ORA-00923

Hola como bien dice el titulo tengo problemas con el ora-00923, sucede lo siguiente he realizado una funcion q me retorna un numero esta funciona sin problemas la he probado por dual y agregandola a una consulta mas elaborada tambien muestra el resultado.

Pero he tenido que agregarla a un procedimiento dentro de un paquete y la he compilado sin problemas pero al ejecutar este procedimiento me manda error, asi que he renombrado la funcion pero el error persiste. Entonces se ha copiado el procedimiento a otro paquete en el cual se ejecuta sin ningun problema.

Ya lo he invocado desde la aplicacion y funciona pero cuando invoco dicho procedimiento desde el paquete en el que tiene que estar manda el siguient error:

ORA-00923: FROM keyword not found where expected.

Alguno de ustedes ha tenido el mismo problema porfavor si pueden orientarme, de antemano muchas gracias
  #2 (permalink)  
Antiguo 09/01/2008, 13:26
Avatar de rmarinsd  
Fecha de Ingreso: septiembre-2007
Mensajes: 78
Antigüedad: 17 años, 3 meses
Puntos: 0
Re: Ayuda ORA-00923(Solucion Encontrada)

Primero gracias a todos los que se tomaron la molestia de leer el post he encontrado cual era el problema:

Buscando en internet mencionan algo de un viejo estandar de que no puede quedarse un select sin from. Mi llamada a la funcion estaba asi:

nvl(tabla1.clave2,0) clave2,
F_FUNCION1(numero) clave -------Funcion invocada

Intente con un NVL y tampoco jalo

nvl(tabla1.clave2,0) clave2,
NVL(F_FUNCION1(numero),0) clave -------Funcion invocada

Pero al agregarle su respectivo from se ejecuta sin problemas

nvl(tabla1.clave2,0) clave2,
NVL((SELECT F_FUNCION1(numero) FROM DUAL),0) clave -------Funcion invocada

De esta forma la llamada a la funcion ya contiene su respectivo from y se ejecuta sin ningun problema.

Espero a alguien le sirva, hasta luego
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 06:31.