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

pl/sql

Estas en el tema de pl/sql en el foro de Bases de Datos General en Foros del Web. Estoy super complicado con un procedimiento que no se por que no me resulta. aprobecho de darle las gracias a los que me respondieron en ...
  #1 (permalink)  
Antiguo 03/04/2006, 14:37
 
Fecha de Ingreso: octubre-2004
Ubicación: Santiago de Chile
Mensajes: 504
Antigüedad: 20 años, 1 mes
Puntos: 0
De acuerdo pl/sql

Estoy super complicado con un procedimiento que no se por que no me resulta. aprobecho de darle las gracias a los que me respondieron en post anteriores.
Mira este es el codigo:

Código HTML:
CREATE OR REPLACE PROCEDURE proc_matricula
	   	  (var_fecha_ini in varchar2, var_fecha_fin in varchar2, var_matricula in varchar2) 
is
		v_matricula         transacciones_olap01.matricula%TYPE;
		v_ident_pc          varchar2(10);                                          
		v_Fecha             transacciones_olap01.fechatransito%TYPE;
		v_hora              transacciones_olap01.fechatransito%TYPE;                                   
		v_importe           transacciones_olap01.importe%TYPE;
		v_tarifamop         varchar2(50);
		v_categoria         varchar2(50);
		v_idsentido         varchar2(50);
		v_tagidsia   		transacciones_olap01.tagidsia%TYPE;
		v_tipodia 		    varchar2(50); 
		v_vdacvehiclespeed	transacciones_olap01.vdacvehiclespeed%TYPE;
		v_num_corr_punto	transacciones_olap01.num_corr_punto%TYPE;
    	v_archi_access_pc	transacciones_olap01.archi_access_pc%TYPE;
		
begin
	 SELECT matricula  
			,decode (ident_pc, 4112, '1.1',4144,'1.3'  
			,8208,'2.1'  
			,8224,'2.2'  
			,12304,'3.1'  
			,12320,'3.2'  
			,12336,'3.3'  
			,12352,'3.4'  
			,16400,'4.1'  
			,16416,'4.2'  
			,16432,'4.3'  
			,20496,'5.1'  
			,20512,'5.2'  
			,20528,'5.3'  
			,20544,'5.4') PdC  
			, to_char(fechatransito,'dd-mm-yyyy') Fecha  
			, to_char(fechatransito,'hh24:mi:ss') Hora  
			, importe  
			, decode (tarifamop,1,'Fuera Punta'  
			,2,'Punta') Tarifa         
			, decode (categoria,1,'Auto/Camioneta'  
			,2,'Camion s/Acoplado'  
			,3,'Camion c/Acoplado') Categoria  
			,decode (IDSENTIDO, 1, 'O-P',2,'P-O') Sentido  
			, TAGIDSIA Tag  
			,decode (TIPODIA, 1, 'Laborable',2,'Sabado',3,'Domingo',4,'Festivo') TipoDia  
			,vdacvehiclespeed veloc  
			,num_corr_punto   
			,archi_access_pc	
					
			into v_matricula,v_ident_pc, v_Fecha,v_hora,v_importe,v_tarifamop,v_categoria,
				 v_idsentido,v_tagidsia,v_tipodia,v_vdacvehiclespeed,v_num_corr_punto,v_archi_access_pc

			
			    FROM ( select  ident_pc                  ,fechatransito                                            
			                  ,archi_access_pc           ,num_corr_punto                                           
			                  ,vdacvehiclespeed          ,tipodia                                                  
			                  ,tagidsia                  ,idsentido                                                
			                  ,categoria                 ,tarifamop                                                
			                  ,importe                   ,matricula                                                
                              ,estado                                                                              
			             from  transacciones_olap01                                                                
			             where estado = 'FACTURABLE'                                                               
			               and contractserialnumber in ( select  contractserialnumber                              
			                                               from  copavs.vehiculostags a                            
			                                                    ,copavs.tags          b                            
			                                               where a.tagid     = b.tagid                             
			                                                 and a.matricula = var_matricula 
			                                           )                                                           
			           union                                                                                       
			           select  ident_pc                   ,fechatransito                                           
			                  ,archi_access_pc            ,num_corr_punto                                          
			                  ,vdacvehiclespeed           ,tipodia                                                 
			                  ,tagidsia                   ,idsentido                                               
			                  ,categoria                  ,tarifamop                                               
			                  ,importe                    ,matricula                                               
                              ,estado                                                                              
			             from  transacciones_olap01                                                                
			             where estado    = 'FACTURABLE'                                                            
			               and matricula = var_matricula       
			         )                                                                                             
			where estado = 'FACTURABLE'
			and ( fechatransito >= to_date('"||var_fecha_ini||" 00:00:00','dd-mm-yyyy hh24:mi:ss')
			and to_date('"||var_fecha_fin||" 23:59:59','dd-mm-yyyy hh24:mi:ss') >= fechatransito );
			
			
end;
/
me da el siguiente error:
ORA-01858: a non-numeric character was found where a numeric was expected
ORA-06512: at "OLAP.PROC_MATRICULA", line 19
ORA-06512: at line 11



Muy agradecido.
__________________
Dios es mas grande que tu problema :-)
  #2 (permalink)  
Antiguo 03/04/2006, 15:34
Avatar de PequeñoMauro  
Fecha de Ingreso: abril-2006
Ubicación: Lima - Perú
Mensajes: 600
Antigüedad: 18 años, 7 meses
Puntos: 3
Bueno, lo que te podria recomendar es que a tu SELECT lo achiques un poco y vayas viendo de a pocos que datos estan correctos, no se si me dejo entender, osea haz tu consulta con pocos campos al inicio y de ahi anda ampliando los campos, es posible que una variable con un tipo de dato especifico este capturando un campo con otro tipo de dato o que exista una variable diferente al orden que tu deseas. Esencialmente no se podria decir especificamente el error, por que no se sabe que tipo de datos estas manejando pues estas trabajando con los atributos de las tablas que haz creado....
__________________
"Nada en mis manos traigo tan solo a tu cruz me aferro....."
  #3 (permalink)  
Antiguo 07/04/2006, 15:17
Avatar de kikolice  
Fecha de Ingreso: marzo-2004
Mensajes: 1.510
Antigüedad: 20 años, 8 meses
Puntos: 7
pues a mi se me hace bastante claro el error

ORA-01858: a non-numeric character was found where a numeric was expected
ORA-06512: at "OLAP.PROC_MATRICULA", line 19


estas metiendo un caracter alfanumerico en uno numerico
__________________
Blogzote.com :-) Mi blog
  #4 (permalink)  
Antiguo 10/04/2006, 07:17
 
Fecha de Ingreso: octubre-2004
Ubicación: Santiago de Chile
Mensajes: 504
Antigüedad: 20 años, 1 mes
Puntos: 0
Si!!, pero donde.
el error habla de una linea. Fijate que cuando estoy en php y tengo algun error. el browser me envia la linea, luego en el editor la encuentro en seguida.
Atte
Mauricio.
Pd. Uso Toad.
__________________
Dios es mas grande que tu problema :-)
  #5 (permalink)  
Antiguo 10/04/2006, 08:40
Avatar de PequeñoMauro  
Fecha de Ingreso: abril-2006
Ubicación: Lima - Perú
Mensajes: 600
Antigüedad: 18 años, 7 meses
Puntos: 3
Hey maurimono, si usas toad, mucho más fácil.
Como te repito, si tienes este select :
select x,y,z,,s,d,f,g INTO....
from t1
...enorme, y te sale error, yo te recomiendo que hagas el select:
select x INTO :vx
from t1
de ahi vas agregando los campos...
A veces el error no necesariamente es por tipo de datos, a veces te saltas un punto y coma o algo por el estilo, o sino te confundes en poner el orden de las variables, o a veces pones más campos que variables.
Te repito, no es tan simple decir el error por que estas usando variables declaradas de acuerdo a la estructura de tus tablas creadas....
Quizás te suene simple mi comentario, pero te puede ayudar mucho, se debe analizar el más minimo detalle, te lo digo por experiencia...
__________________
"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 14:34.