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
Views: Raw Message | Whole Thread | Download mbox | Resend email
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

Browse pgsql-es-ayuda by date

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