Oracle - Error suma de variables

 
Vista:
sin imagen de perfil
Val: 2
Ha aumentado su posición en 16 puestos en Oracle (en relación al último mes)
Gráfica de Oracle

Error suma de variables

Publicado por Jose (1 intervención) el 10/09/2019 00:30:05
Hola, soy nuevo en uso de ORACLE
estoy realizando modificaciones a un SP ya existentes y tengo un problema en el resultado de una variable, si bien la variable esta inicializada en 0 y la suma final es 0+1, como resultado me da 57 y no he detectado el porque.

Mi código:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
declare
v_norder NUMBER(5) ;
SCLIENT char(14);
 
begin
v_norder:=0;
SCLIENT :='12050946';
 
 
dbms_output.put_line ('SCLIENT  Inicia en: '|| SCLIENT);
dbms_output.put_line ('v_norder Inicia en: '|| v_norder);
 
 
select (to_number(max(nvl(fono.norder,0))) + 1)
        into v_norder
        from address dir
        inner join phones fono on dir.skeyaddress = fono.skeyaddress
        where dir.sclient = lpad(SCLIENT,14,'0');
 
 
dbms_output.put_line ('V_NORDER FIN: '|| v_norder);
dbms_output.put_line ('CLIENTE: '||SCLIENT);
 
end;


Salida que arroja:

SCLIENT Inicia en: 12050946
v_norder Inicia en: 0
V_NORDER FIN: 57
CLIENTE: 12050946


gracias!!!
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
sin imagen de perfil
Val: 837
Oro
Ha mantenido su posición en Oracle (en relación al último mes)
Gráfica de Oracle

Error suma de variables

Publicado por Rafael (326 intervenciones) el 12/09/2019 16:39:04
Jose:

La suma final NO es 0+1

La suma que estas haciendo es:
1
(to_number(max(nvl(fono.norder,0))) + 1) into v_norder

Que dice... SI NORDER es nulo pon CERO, de eso OBTEN el MAXIMO, que seguramente es 56, conviertelo a numero y a eso sumale 1 ... resultado 57..

Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar