Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » PostgreSQL »

nombre de una tabla temporal

Estas en el tema de nombre de una tabla temporal en el foro de PostgreSQL en Foros del Web. Estoy queriendo crear dentro de una funcion una tabla temporary, quisiera que me ayudaran si es que se puede; cambiar el nombre de la tabla ...
  #1 (permalink)  
Antiguo 22/07/2009, 18:51
 
Fecha de Ingreso: septiembre-2008
Mensajes: 75
Antigüedad: 16 años, 2 meses
Puntos: 1
nombre de una tabla temporal

Estoy queriendo crear dentro de una funcion una tabla temporary, quisiera que me ayudaran si es que se puede; cambiar el nombre de la tabla que por defecto es tmpdetalle, osea q quizas le pueda pasar como parametro el nombre de la tabla temporal q se creara, ya que la funcion puede ser usada por 2 usuarios a la vez y me mostraria un error.

muestro como creo la tabla dentro de la funcion, esta tabla se elimina automaticamente cada vez q termina la funcion

create temporary table tmpdetalle (
campo1 int,
campo2 character
)on commit drop;

gracias
  #2 (permalink)  
Antiguo 23/07/2009, 06:58
Avatar de huesos52
Colaborador
 
Fecha de Ingreso: febrero-2009
Ubicación: Manizales - Colombia
Mensajes: 5.980
Antigüedad: 15 años, 9 meses
Puntos: 360
Respuesta: nombre de una tabla temporal

Código SQL:
Ver original
  1. CREATE OR REPLACE FUNCTION tabla(text) RETURNS void AS $$
  2. DECLARE
  3.     stmnt  text;
  4. BEGIN
  5.     stmnt = 'CREATE TEMPORARY TABLE ' || $1 || '(campo1 integer,campo2 text) ON COMMIT DROP';
  6.  
  7.     EXECUTE stmnt;
  8. END; $$
  9. LANGUAGE 'plpgsql';

Como parámetro se lleva el nombre que se le da a la tabla.

Un saludo.
__________________
Without data, You are another person with an opinion.
W. Edwads Deming
  #3 (permalink)  
Antiguo 23/07/2009, 18:12
 
Fecha de Ingreso: septiembre-2008
Mensajes: 75
Antigüedad: 16 años, 2 meses
Puntos: 1
Respuesta: nombre de una tabla temporal

muy agradecido por tu aporte
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 16:38.