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

Lectura variable tipo record

Estas en el tema de Lectura variable tipo record en el foro de PostgreSQL en Foros del Web. Buenos días, Tengo una funcion en donde consulto datos de dos tablas y los almaceno en una variable tipo record así: @import url("http://static.forosdelweb.com/clientscript/vbulletin_css/geshi.css"); Código SQL: ...
  #1 (permalink)  
Antiguo 05/02/2010, 10:17
 
Fecha de Ingreso: febrero-2010
Mensajes: 3
Antigüedad: 14 años, 2 meses
Puntos: 0
Lectura variable tipo record

Buenos días,
Tengo una funcion en donde consulto datos de dos tablas y los almaceno en una variable tipo record así:
Código SQL:
Ver original
  1. SELECT a.idmuestra AS muestra,
  2.         b.idubicacion AS ubicacion
  3.     INTO identificadores
  4.     FROM muestra a
  5.         INNER JOIN ubicacion b ON (a.idubicacion = b.idubicacion)
  6.     WHERE to_date(fechaplantacion, 'dd/mm/yyyy') = a.fecha_plantacion
  7.         AND to_date(fechamuestreo, 'dd/mm/yyyy') = a.fecha_muestreo;

Los datos trato de almacenarlos en variables de tipo array de este modo:
Código SQL:
Ver original
  1. muestras := identificadores.muestra;
  2. ubicaciones := identificadores.ubicacion;

Pero obtengo como resultado ERROR: el valor de array debe comenzar con «{» o información de dimensión.
Como no conozco la cantidad de registros que devoverá la consulta, no declaro las variables con un tamaño estático (Porque creo que es lo que trata de decirme el error).

Gracias por su atención.
  #2 (permalink)  
Antiguo 05/02/2010, 15:14
 
Fecha de Ingreso: febrero-2010
Mensajes: 3
Antigüedad: 14 años, 2 meses
Puntos: 0
Respuesta: Lectura variable tipo record

Buenas Tardes,
La solución al problema planteado la pude resolver almacenando los datos de la variable record dentro de una variable String así:
Código SQL:
Ver original
  1. FOR identificadores IN
  2.         SELECT a.idmuestra AS muestra,
  3.             b.idubicacion AS ubicacion
  4.         FROM muestra a
  5.             INNER JOIN ubicacion b ON (a.idubicacion = b.idubicacion)
  6.         WHERE to_date(fechaplantacion, 'dd/mm/yyyy') = a.fecha_plantacion
  7.             AND to_date(fechamuestreo, 'dd/mm/yyyy') = a.fecha_muestreo
  8. LOOP
  9.         respuesta := respuesta || '{' || identificadores.muestra || ',' || identificadores.ubicacion || '},';
  10. END LOOP;
De este modo todos los datos quedan agrupados en medio de llaves "{}".
Espero la respuesta les pueda ser tan útil como para mí.

Etiquetas: lectura, tipo, variables
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 13:54.