PDA

Ver la Versión Completa : Ayuda con Stored Procedure


Fita
28-11-2007, 01:05:40
Hola a todos...

tengo un problema de conversión de datos con este procedimiento:

CREATE PROCEDURE PAGA_TOT (
COD_FAM CHAR (6) CHARACTER SET NONE)
RETURNS (
NTOTAL NUMERIC (18, 2))
AS
begin

select SUM(Total) from novfijas where codfam = :cod_fam into :nTotal;
if (:nTotal is null) then
begin
update fam000 set pagatotal = 0 where codfam = :cod_fam;
end else
begin
update fam000 set pagatotal = :nTotal where codfam = :cod_fam;
end

Cuando el select no encuentra registros devuelve NULL pero al ponerlo en nTotal da error: "No se puede convertir tipo Null a Currency"

Como podría solucionarlo ?

Gracias de antemano
Saludos

danilo_candales
28-11-2007, 01:22:06
Quizas te sirva la función Coalesce:

Coalesce(SUM(Total),0)

Si Sum(Total) es null le asigna 0 a :nTotal. Y con eso tu stored procedure puede quedar asi:

select Coalesce(SUM(Total)) from novfijas where codfam = :cod_fam into :nTotal;

update fam000 set pagatotal = :nTotal where codfam = :cod_fam;

Fita
28-11-2007, 01:28:03
Muchas Gracias Danilo, funciona perfecto

Un afectuoso saludo