| From: | Gustavo Maximiliano Cortez <patesi(at)gmail(dot)com> | 
|---|---|
| To: | Juan Pablo Espino <jp(dot)espino(at)gmail(dot)com> | 
| Cc: | pgsql-es postgresql <pgsql-es-ayuda(at)postgresql(dot)org> | 
| Subject: | Re: [pgsql-es-ayuda] ALTER TABLE dentro de una función | 
| Date: | 2005-01-27 19:28:11 | 
| Message-ID: | 41F940CB.30100@gmail.com | 
| Views: | Whole Thread | Raw Message | Download mbox | Resend email | 
| Thread: | |
| Lists: | pgsql-es-ayuda | 
Juan Pablo Espino escribió:
> 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
> 
mm.... no probaste con select añadir_columna('prueba'); ???
> 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.
> 
> ---------------------------(fin del mensaje)---------------------------
> TIP 8: explain analyze es tu amigo
> 
| From | Date | Subject | |
|---|---|---|---|
| Next Message | Jorge Tinitana | 2005-01-27 19:29:52 | Re: Sobre PgAdmin III | 
| Previous Message | Mario A. Soto Cordones | 2005-01-27 19:13:28 | RE: Consulta |