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

error de excepcion ora-01422

Estas en el tema de error de excepcion ora-01422 en el foro de Oracle en Foros del Web. hola de nuevo tengo el siguiente codigo declare fecha_desde date; fecha_hasta date; begin select fecha_desde, fecha_hasta into fecha_desde, fecha_hasta from salvoconducto; if trunc(fecha_desde) <= trunc(sysdate) ...
  #1 (permalink)  
Antiguo 15/06/2007, 09:00
 
Fecha de Ingreso: junio-2007
Mensajes: 4
Antigüedad: 17 años, 5 meses
Puntos: 0
error de excepcion ora-01422

hola de nuevo tengo el siguiente codigo
declare
fecha_desde date;
fecha_hasta date;
begin
select fecha_desde, fecha_hasta
into fecha_desde, fecha_hasta
from salvoconducto;
if trunc(fecha_desde) <= trunc(sysdate) or
trunc(fecha_desde) >= trunc(fecha_hasta) then
message('fecha incorrecta');
end if;
end;

el problema es que me genera un error en el disparador
when validate item dice que se ha provocado una excepcion ora-01422 no tratada alguien me puede ayudar

gracias
  #2 (permalink)  
Antiguo 15/06/2007, 09:12
Avatar de PequeñoMauro  
Fecha de Ingreso: abril-2006
Ubicación: Lima - Perú
Mensajes: 600
Antigüedad: 18 años, 7 meses
Puntos: 3
Re: error de excepcion ora-01422

El error viene por que esta devolviendo más de un valor.
El SELECT INTO solo acepta un valor, si quieres obtener más de un valor, puedes hacer recorriendo un cursor.
Saludos
__________________
"Nada en mis manos traigo tan solo a tu cruz me aferro....."
  #3 (permalink)  
Antiguo 15/06/2007, 09:33
 
Fecha de Ingreso: junio-2007
Mensajes: 4
Antigüedad: 17 años, 5 meses
Puntos: 0
Re: error de excepcion ora-01422

puse este cogido
pero tengo un error dice que el simbolo into ha sido ignorado que hago
declare
fecha_desde date;
fecha_hasta date;
begin
select into('fecha_desde', 'fecha_hasta')
from SALVOCONDUCTO;
if trunc(fecha_desde) <= trunc(sysdate) or
trunc(fecha_desde) >= trunc(fecha_hasta) then
message ('fecha incorrecta');
end if;
end;
  #4 (permalink)  
Antiguo 15/06/2007, 09:53
Avatar de PequeñoMauro  
Fecha de Ingreso: abril-2006
Ubicación: Lima - Perú
Mensajes: 600
Antigüedad: 18 años, 7 meses
Puntos: 3
Re: error de excepcion ora-01422

Me imagino que estas practicando algunos ejercicios.
Cuando haces un SELECT en un procedimiento, debes poner el INTO:
Código:
SELECT x,y,z INTO varx,vary,varz
FROM tabla
.....
Pues de esta forma capturas los valores de una consulta. Pero debes tener en cuenta que si realizas este tipo de consultas y quieres capturar un valor, la consulta solo debe devolverte un solo valor.
En tu caso, el select que haces no es tan especifico, debe estar devolviendo más de un valor, prueba aparte la consulta y verás si es así.
Si quieres que te devuelva solo un valor, sé más especifica en el WHERE.

Espero haber sido explicito.
Saludos
__________________
"Nada en mis manos traigo tan solo a tu cruz me aferro....."
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 23:18.