Skip site navigation (1) Skip section navigation (2)

Sentencia DML dinamica.

From: Daniel Orozco <daniel(dot)orozco(dot)jaramillo(at)gmail(dot)com>
To: pgsql-es-ayuda(at)postgresql(dot)org
Subject: Sentencia DML dinamica.
Date: 2010-10-25 19:26:18
Message-ID: AANLkTi=KAuL58d8da6-mwSugB3YNz0MFmEN8X9YDvD7B@mail.gmail.com (view raw or flat)
Thread:
Lists: pgsql-es-ayuda
Buen día foreros.
Les cuento
Tengo un procedimiento con un tipo de dato definido por mi. *CREATE TYPE
ejemplo AS (campo1 double precision[],campo2 integer[]);*
*Tengo un procedimiento que me retorna un array de este tipo y lo almaceno
en una variable dentro de otro procedimiento.*
*DECLARE*
*variable1 ejemplo[];*
*BEGIN*
*variable1 := funcion_retorna_tipo_de_dato_ejemplo(campo1,campo2);*
*
*
Quiero almacenar en una tabla temporal (creada con nombre aleatorio mientras
dura la sesión) el valor de variable1.
*EXECUTE 'CREATE TEMPORARY TABLE ' || nombre_aleatorio || '(campo1
text,campo2 ejemplo[])'; *
*
*
*La tabla se crea bien.... pero cuando trato de hacer esto:*
*EXECUTE 'INSERT INTO ' || nombre_aleatorio || ' VALUES(''t_1_2'',' ||
variable1 || ')';*
Me genera error. este error se da por que el execute tiene como sentencia de
ejecución un text y asi mismo me toma mi tipo de dato ejemplo[].

Si no tuviese que hacer el nombre de la tabla temporal dinamico sería tan
sencillo como esto:
*INSERT INTO tabla VALUES('t_1_2',variable1);*
*
*
*Existe alguna forma de cambiar el formato de salida de un array? que no sea
{{1,2},{3,4}} sino array[[1,2],[3,4]]?*
*O en ultimas, poder hacer funcionar una sentencia EXECUTE que me tome la
variable como el tipo de dato real?*
*
*
*Espero me hayan entendido.*
*
*
*Muchas gracias*
*
*
-- 
Daniel Orozco Jaramillo
Ing. Sistemas y Telecomunicaciones
OCE (Oracle Certified SQL Expert)

Responses

pgsql-es-ayuda by date

Next:From: Gilberto Castillo MartínezDate: 2010-10-25 21:07:27
Subject: Re: Migración
Previous:From: FRANCISCO JOSE PALAO VILLANUEVADate: 2010-10-25 10:39:58
Subject: Re: [pgsql-es-ayuda] Re: [pgsql-es-ayuda] Re: [pgsql-es-ayuda] versión 9.01.1

Privacy Policy | About PostgreSQL
Copyright © 1996-2014 The PostgreSQL Global Development Group