Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Firebird e Interbase (https://www.clubdelphi.com/foros/forumdisplay.php?f=19)
-   -   Ayuda con Stored Procedure (https://www.clubdelphi.com/foros/showthread.php?t=50769)

Fita 28-11-2007 01:05:40

Ayuda con Stored Procedure
 
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


La franja horaria es GMT +2. Ahora son las 05:31:11.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi