ALTER TABLE dentro de una función

From: Juan Pablo Espino <jp(dot)espino(at)gmail(dot)com>
To: pgsql-es postgresql <pgsql-es-ayuda(at)postgresql(dot)org>
Subject: ALTER TABLE dentro de una función
Date: 2005-01-27 18:42:08
Message-ID: 3e7daec105012710426a6b9a85@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

Tengo una tabla llamada prueba y quisiera tener una función para
añadirle una columna pasando como argumento el nombre de la tabla,
suena sin sentido hacer eso, pero solo queria saber si eso se puede
hacer. Entonces tengo lo siguiente:

CREATE FUNCTION añadir_columna(text) RETURNS integer AS $$
DECLARE
cadena ALIAS FOR $1;
BEGIN
ALTER TABLE cadena
ADD COLUMN Nueva_Columna varchar(20);
RETURN NULL;
END;

$$ LANGUAGE plpgsql;

cuando hago select añadir_columna(prueba) me sale:
ERROR: column "prueba" does not exist

intente dejando la funcion sin argumento y poniendo el nombre de la
tabla directamente y si funciona, me parece que deberia ser sencillo
pasarle el nombre de la tabla a la funcion ... tambien intente en vez
de text, varchar y me aparece el mismo error, gracias de antemano.

Responses

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message DIR-Gonzalo León 2005-01-27 18:59:08 Consulta
Previous Message Alvaro Herrera 2005-01-27 18:37:36 Re: Consulta