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 |
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; |
Muchas Gracias Danilo, funciona perfecto
Un afectuoso saludo |
La franja horaria es GMT +2. Ahora son las 23:28:39. |
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