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)
-   -   procedimiento almacenado (https://www.clubdelphi.com/foros/showthread.php?t=55325)

sargento elias 14-04-2008 10:54:58

procedimiento almacenado
 
Hola

No he hecho nunca un procedimiento almacenado y necesito vuestra ayuda

Utilizo firebird 1.5 y delphi 7

En una tabla tengo IMPORTE,DESCRIPCIÓN Y Fecha.
Necesito pasarle por parametros la fecha,un date, y la descripcion, un string y que me devuelva el importe, y en caso de que éste sea nulo me devuelva 0.

Y Luego como puedo sacar el resultado del procedimiento en un dbtext del report builder?

muchas gracias :)

defcon1_es 14-04-2008 13:04:35

Hola.
Creo que para eso no te hace falta un procedimiento almacenado,
pues con una simple SELECT, puedes obtener el dato que deseas:

Código SQL [-]
SELECT COALESCE(IMPORTE, 0) as IMPORTE
FROM Tabla
WHERE (FECHA = :ParFecha) AND (DESCRIPCION = :ParDescripcion)

Pero si lo quieres como procedimiento almacenado, podría ser parecido a:

Código SQL [-]
CREATE OR ALTER PROCEDURE EXTRAER_IMPORTE (PARFECHA DATE, PARDESCRIPCION VARCHAR(50))
RETURNS (PARIMPORTE DOUBLE PRECISION)
AS
BEGIN
  SELECT COALESCE(IMPORTE, 0) as IMPORTE
  FROM Tabla
  WHERE (FECHA = :ParFecha) AND (DESCRIPCION = :ParDescripcion)
  INTO :PARIMPORTE;

Y para obtener los datos:

Código SQL [-]
  SELECT PARIMPORTE FROM EXTRAER_IMPORTE ("01/01/2008", "descripcion");


La franja horaria es GMT +2. Ahora son las 05:00:37.

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