Re: nombre tabla como parametro

From: Jaime Casanova <systemguards(at)gmail(dot)com>
To: Samuel Concha <sconcha(at)dim(dot)cl>
Cc: pgsql-es-ayuda(at)postgresql(dot)org
Subject: Re: nombre tabla como parametro
Date: 2005-05-25 15:37:22
Message-ID: c2d9e70e05052508372f1ed22c@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

On 5/24/05, Samuel Concha <sconcha(at)dim(dot)cl> wrote:
> Muchos saludos de Chile,
> Mi solicitud de ayuda es la siguiente, tengo una aplicacion cliente/servidor
> hecha en VB6 sobre un motor SQL server, actualmente estoy migrando al motor
> postgresql y me surgio entre otras la siguiente duda.
> Tengo una consulta/actualizacion compleja, el cual trabaja sobre tablas cuyo
> nombre cambia mes a mes, sobre SQL server lo que se hace es generar un
> procedimiento almacenado nuevo todos los meses (via codigo VB, con 'ALTER
> PROCEDURE') el cual genera dicho procedimiento con el nombre de las tablas
> del respectivo mes.
>

Por que no añadir a la estructura de la tabla un campo año y un campo
mes como parte de la clave? asi no tendrias que crear una tabla nueva
cada mes.

> El asunto es que pretendo crear una funcion (que reciba como parametro la
> fecha, parte integrante del nombre de las tablas) que genere a su vez la
> funcion antes señalada.
> Es esto posible?, como?.
> agradeceria mucho cualquier ayuda que fuera posible.
> de ante mano muchisimas gracias
>

Si insistes en esto puedes hacerlo poniendo la consulta de creacion en
una cadena de caracteres y usando el comando EXECUTE.

CREATE FUNCTION foo(date) RETURNS void AS $$
DECLARE
stmnt text;
BEGIN
stmnt = 'CREATE TABLE t_foo_' || MONTH($1) || '_' || YEAR($1) || '
(col1 int) ';
EXECUTE stmnt;
END; $$
language 'plpgsql';

PD: No te olvides de añadir a la lista en tus respuestas, reply-all

--
Atentamente,
Jaime Casanova
(DBA: DataBase Aniquilator ;)

In response to

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message Alexys Lozada 2005-05-25 15:38:46 IPV6 o Local?
Previous Message Alvaro Herrera 2005-05-25 13:47:19 Re: cosa rara