Ver Mensaje Individual
  #3  
Antiguo 19-12-2022
Avatar de duilioisola
[duilioisola] duilioisola is offline
Miembro Premium
 
Registrado: ago 2007
Ubicación: Barcelona, España
Posts: 1.734
Reputación: 20
duilioisola Es un diamante en brutoduilioisola Es un diamante en brutoduilioisola Es un diamante en bruto
Esta no es la forma correcta de asegurar que un valor no sea nulo

Código SQL [-]
select coalesce(count(*),0)
from interesnooro
where num_cont = :v_num_cont  
into :v_pagosant;
/* Si no hay ningún registo que cumpla "num_cont=:v_num_cont", el valor de v_pagosant no se  modificará y seguirá con el valor que tenía antes del select (nulo si no se ha definido) */

v_semananva = (v_pagosant + 1);

La forma correcta sería:
Código SQL [-]
select count(*)
from interesnooro
where num_cont = :v_num_cont  
into :v_pagosant;

v_pagosant = coalesce(v_pagosant, 0);
v_semananva = (v_pagosant + 1);

/* O resumiendo en una sola línea */
v_semananva = (coalesce(v_pagosant, 0) + 1);

Última edición por duilioisola fecha: 19-12-2022 a las 17:03:16.
Responder Con Cita