Re: Funcion Dinamica.!!

From: Luis A(dot) Zevallos Cárdenas <lzevallos(at)lobosistemas(dot)com>
To: Juan Jose Rosales Rodriguez <jjrosales(at)estudiantes(dot)uci(dot)cu>
Cc: Alvaro Herrera <alvherre(at)alvh(dot)no-ip(dot)org>, Reynier Perez Mira <rperezm(at)uci(dot)cu>, pgsql-es-ayuda(at)postgresql(dot)org
Subject: Re: Funcion Dinamica.!!
Date: 2009-05-05 18:22:07
Message-ID: ae5556ce0905051122m728295eds2e7467f68099ef23@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

Ya mira yo cree una vista dinamica asi:

#*********************************************************************************************************************************
CREATE OR REPLACE FUNCTION sp_create_vw_saldos_x_almacen(text, text)
RETURNS void AS
$BODY$
DECLARE
v_fecha text;
v_create_view text;

BEGIN
v_fecha=$1;
raise notice 'fecha %',$1;
DROP VIEW vw_saldos_x_almacen;
v_create_view='CREATE VIEW vw_saldos_x_almacen_dia AS
SELECT DISTINCT da.almacen, da.cod_producto,sal.cod_ubi, m.descripcion
, sum( CASE
WHEN da.ingreso = '''||1||'''::bpchar THEN
CASE
WHEN m.porc_x_unidad = 0 THEN 1
ELSE m.porc_x_unidad
END::double precision * da.cantidad +
da.cantidad_porc::double precision
ELSE 0::double precision
END) AS ingresos
, sum(CASE
WHEN da.ingreso = '''||0||'''::bpchar THEN
CASE
WHEN m.porc_x_unidad = 0 THEN 1
ELSE m.porc_x_unidad
END::double precision * da.cantidad +
da.cantidad_porc::double precision
ELSE 0::double precision
END) AS salidas
, sum(CASE
WHEN da.ingreso = '''||1||'''::bpchar THEN
CASE
WHEN m.porc_x_unidad = 0 THEN 1
ELSE m.porc_x_unidad
END::double precision * da.cantidad +
da.cantidad_porc::double precision
ELSE 0::double precision
END) - sum(
CASE
WHEN da.ingreso = '''||0||'''::bpchar THEN
CASE
WHEN m.porc_x_unidad = 0 THEN 1
ELSE m.porc_x_unidad
END::double precision * da.cantidad +
da.cantidad_porc::double precision
ELSE 0::double precision
END) AS saldos
FROM detalle_almacen da, mae_prod m,saldos_x_almacen sal
WHERE trim(m.cod_producto) = trim(da.cod_producto)
and trim(sal.cod_producto)=trim(m.cod_producto)
and trim(sal.almacen::text) = trim(m.cod_ubicacion)
AND da.fecha_operacion >= to_date('''||$1||'''::text,
'''||'YYYY-MM-DD'||'''::text)
AND da.fecha_operacion <= to_date('''||$2||'''::text,
'''||'YYYY-MM-DD'||'''::text)
GROUP BY da.cod_producto, da.almacen, m.descripcion,sal.cod_ubi
ORDER BY da.cod_producto, da.almacen, m.descripcion';
--raise notice 'vista a crear %',v_create_view;
execute v_create_view;-------------------->>>>>>>>>>>>>>>>>>>>AQUI ES
DONDE SE REGENERA LA VISTA
END;
$BODY$
LANGUAGE 'plpgsql' VOLATILE
COST 100;
ALTER FUNCTION sp_create_vw_saldos_x_almacen(text, text) OWNER TO lzevallos;
#*********************************************************************************************************************************

El 5 de mayo de 2009 12:57, Juan Jose Rosales Rodriguez <
jjrosales(at)estudiantes(dot)uci(dot)cu> escribió:

> Buenas Tardes.
>
> Necesito crear una funcion que me realice una consulta a una tabla pasada
> por parametro, y a un campo determinado, empse realizando algo asi. pero me
> queda la duda el from tiene que ser la tabla que le pase por parametro.
>
>
> CREATE OR REPLACE FUNCTION "mod_catalogo"."cargarpaginas" (varchar,
> varchar, varchar) RETURNS varchar AS
> $body$
> DECLARE
> tabla varchar; -- esta es la tabla que quiro consultar
> campo varchar; --campo
> valor varchar; --y criterio
> cantidad INTEGER := 30;
>
> BEGIN
>
> tabla:=$1;
> campo:=$2;
> valor:=$3;
>
> --SELECT * FROM $1; where campo = valor ; --Como puedo hacer esto?..
>
>
> RETURN tabla;
> END;
> $body$
> LANGUAGE 'plpgsql' VOLATILE CALLED ON NULL INPUT SECURITY INVOKER;
>
>
>
>
> Estudiante:Juan Jose Rosales Rodriguez.
> Arquitecto de sistema Linea Auditoria
> ERP-CUBA.
> Tel: 023 66 792 , 8358741.
>
>
>
>
>
>
>
>
>
>
>
>
> <mailto:software(dot)gestion(at)uci(dot)cu>
>
> ________________________________
>
> De: pgsql-es-ayuda-owner(at)postgresql(dot)org en nombre de Alvaro Herrera
> Enviado el: mar 05.05.2009 10:55
> Para: Reynier Perez Mira
> CC: pgsql-es-ayuda(at)postgresql(dot)org
> Asunto: Re: [pgsql-es-ayuda] Backup de BD PostgreSQL
>
>
>
> Reynier Perez Mira escribió:
> > Buenos días a todos:
> > Estoy trabajando en un tema de salvas automáticas usando Bacula[1] de un
> sistema de gestión documental Alfresco el cual usa PostgreSQL como gestor.
> He estado trabajando con un desarrollador del software el cual me plantea
> que para realizar un buen backup de la BD es necesario parar el PostgreSQL
> por completo (postgresql stop) lo cual no me queda claro del todo. ¿Alguna
> sugerencia?
>
> Acá una persona detalla el proceso para respaldar bases de datos
> Postgres con Bacula:
>
> http://wiki.bacula.org/doku.php?id=application_specific_backups:postgresql
>
> Observa que contrariamente a lo que el autor de esa página indica, NO es
> más recomendable hacer un respaldo de datos/esquema separado. Es mejor
> hacer respaldos que combinan ambas cosas (es decir, no uses las opciones
> -a ni -s de pg_dump).
>
> --
> Alvaro Herrera
> http://www.amazon.com/gp/registry/CTMLCN8V17R4
> "I suspect most samba developers are already technically insane...
> Of course, since many of them are Australians, you can't tell." (L.
> Torvalds)
> --
> TIP 6: ¿Has buscado en los archivos de nuestra lista de correo?
> http://archives.postgresql.org/pgsql-es-ayuda
>
>
> --
> TIP 6: ¿Has buscado en los archivos de nuestra lista de correo?
> http://archives.postgresql.org/pgsql-es-ayuda
>

--
Luis Zevallos
DBA Administrador de BD
Lobo Sistemas S.A.C
tel: +5154958310833
http://www.lobosistemas.com

In response to

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message Luis A. Zevallos Cárdenas 2009-05-05 18:26:55 Un select menos solo una columna....
Previous Message Gilberto Castillo Martínez 2009-05-05 18:08:13 Re: Repicacion