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

[SOLUCIONADO] Problemas con matrices

Estas en el tema de Problemas con matrices en el foro de PostgreSQL en Foros del Web. Quiero llenar una matriz desde un cursor: OPEN cursorbaja FOR SELECT n0101numreg, c0101anio, c0101periodo, c0101codtrib, c0101codfase, c0101codconcepto, n0101cargoinsoluto-n0101abonoinsoluto+n0101altainsoluto-n0101bajainsoluto insoluto, n0101cargoreajuste-n0101abonoreajuste+n0101altareajuste-n0101bajareajuste reajuste, n0101cargointeres-n0101abonointeres+n0101altainteres-n0101bajainteres interes FROM "t0101Deudas" ...
  #1 (permalink)  
Antiguo 03/04/2013, 16:37
 
Fecha de Ingreso: abril-2013
Mensajes: 2
Antigüedad: 11 años, 7 meses
Puntos: 0
Problemas con matrices

Quiero llenar una matriz desde un cursor:
OPEN cursorbaja FOR
SELECT n0101numreg, c0101anio, c0101periodo, c0101codtrib, c0101codfase, c0101codconcepto,
n0101cargoinsoluto-n0101abonoinsoluto+n0101altainsoluto-n0101bajainsoluto insoluto,
n0101cargoreajuste-n0101abonoreajuste+n0101altareajuste-n0101bajareajuste reajuste,
n0101cargointeres-n0101abonointeres+n0101altainteres-n0101bajainteres interes
FROM "t0101Deudas"
WHERE c0101codcont = incodcont and c0101anio = inanio and c0101codtrib = '0001' and c0101codconcepto = '01'
and c0101estadodeu <> 'C' and b0101estadoreg = true;
vnum:=0;
LOOP
FETCH cursorbaja INTO vnumreg, vanio, vperiodo, vcodtrib, vcodfase, vcodconcepto,
vinsoluto, vreajuste, vinteres;
EXIT WHEN NOT FOUND;
vnum := vnum+1;
varreglobaja[vnum][1] := vnumreg::text;
varreglobaja[vnum][2] := '0'; varreglobaja[vnum][3] := '0'; varreglobaja[vnum][4] := '0';
varreglobaja[vnum][5] := '0'; varreglobaja[vnum][6] := '0';
varreglobaja[vnum][7] := vinsoluto::text; varreglobaja[vnum][8] := vreajuste::text; varreglobaja[vnum][9] := '0';
varreglobaja[vnum][10] := vinteres::text; varreglobaja[vnum][11] := '0';
varreglobaja[vnum][12] := vanio; varreglobaja[vnum][13] := vperiodo; varreglobaja[vnum][14] := vcodtrib;
varreglobaja[vnum][15] := ''; varreglobaja[vnum][16] := ''; varreglobaja[vnum][17] := vcodfase;
varreglobaja[vnum][18] := vcodconcepto; varreglobaja[vnum][19] := 'B';

END LOOP;
CLOSE cursorbaja;

Pero me sale el Error: ERROR: los subíndices de arrays están fuera de rango
He leido en un foro que hay que iniciar la matriz, pero eso servia para una matiz de una fila, en mi caso la matriz es dinamica, es decir no se cuantas filas va a tener.
La solucion que habian planteado era esta:
aruc integer[][] = array[[0,0,0,0,0,0,0,0,0,0,0]]; sirve para una fila
Pero, como les dije en mi caso no sirve, porque no se cuantas filas va a tener la matriz.
Ojala puedan ayudarme.
  #2 (permalink)  
Antiguo 03/04/2013, 19:13
 
Fecha de Ingreso: abril-2013
Mensajes: 2
Antigüedad: 11 años, 7 meses
Puntos: 0
Respuesta: Problemas con matrices

Encontre la solucion a este problema gracias a Edgar Medina Q.
La solucion esta en esta direccion: http://wiki.postgresql.org/wiki/Talk:Matrices_Multidimensionales_con_funciones.
Gracias a personas como Edgar es que podemos seguir batallando con el elefante.

Etiquetas: matrices
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 11:31.