pame
30-07-2013, 23:50:54
Buenas tardes, tengo el siguiente problema, para el cual solicito su ayuda Gracias.. cuando empleo esta funcion en postgres CREATE OR REPLACE FUNCTION eoq(fi date, ff date)
RETURNS SETOF record AS
$BODY$
SELECT
DISTINCT a.cod_producto,
p.nombre,
SUM(a.cantidad) / ($2 - $1) AS demanda,
(2 * 75 * SUM(a.cantidad) / ($2 - $1)) /(p.precio_unid * 0.13) AS Q,
(SUM(a.cantidad) / ($2 - $1)) /
(2 * 75 * SUM(a.cantidad) / ($2 - $1)) /(p.precio_unid * 0.13) AS N,
(2 * 75 * SUM(a.cantidad) / ($2 - $1)) / (p.precio_unid * 0.13)/(SUM(a.cantidad) / ($2 - $1)) AS T,
Stddev(a.cantidad) * sqrt(4) AS Desv,
(Stddev(a.cantidad) * sqrt(4)) * 1.28 AS IS,
SUM(a.cantidad) / ($2 - $1) * 4 *((Stddev(a.cantidad) * sqrt(4)) * 1.28) AS R
FROM detalle_venta a, factura_vent fv, producto p
WHERE ((p.cod_producto = a.cod_producto) AND (a.cod_fact_vent = fv.cod_fact_vent) AND
(fv.fecha BETWEEN $2 AND $1))
GROUP BY a.cod_producto, p.nombre, p.precio_unid
$BODY$
LANGUAGE sql VOLATILE
COST 100
ROWS 1000;
ALTER FUNCTION eoq(date, date) OWNER TO postgres;
y la ejecuto mediante un TADOStoreProc, con un DataSource y un TDBGrid en delphi me sale el siguiente error
error se requiere una lista de definición de columnas para funciones que retornan «record»
Por favor agradecere su ayuda
MUCHAS GRACIAS
RETURNS SETOF record AS
$BODY$
SELECT
DISTINCT a.cod_producto,
p.nombre,
SUM(a.cantidad) / ($2 - $1) AS demanda,
(2 * 75 * SUM(a.cantidad) / ($2 - $1)) /(p.precio_unid * 0.13) AS Q,
(SUM(a.cantidad) / ($2 - $1)) /
(2 * 75 * SUM(a.cantidad) / ($2 - $1)) /(p.precio_unid * 0.13) AS N,
(2 * 75 * SUM(a.cantidad) / ($2 - $1)) / (p.precio_unid * 0.13)/(SUM(a.cantidad) / ($2 - $1)) AS T,
Stddev(a.cantidad) * sqrt(4) AS Desv,
(Stddev(a.cantidad) * sqrt(4)) * 1.28 AS IS,
SUM(a.cantidad) / ($2 - $1) * 4 *((Stddev(a.cantidad) * sqrt(4)) * 1.28) AS R
FROM detalle_venta a, factura_vent fv, producto p
WHERE ((p.cod_producto = a.cod_producto) AND (a.cod_fact_vent = fv.cod_fact_vent) AND
(fv.fecha BETWEEN $2 AND $1))
GROUP BY a.cod_producto, p.nombre, p.precio_unid
$BODY$
LANGUAGE sql VOLATILE
COST 100
ROWS 1000;
ALTER FUNCTION eoq(date, date) OWNER TO postgres;
y la ejecuto mediante un TADOStoreProc, con un DataSource y un TDBGrid en delphi me sale el siguiente error
error se requiere una lista de definición de columnas para funciones que retornan «record»
Por favor agradecere su ayuda
MUCHAS GRACIAS