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

Problema con array en Postgresql y Psycopg2

Estas en el tema de Problema con array en Postgresql y Psycopg2 en el foro de PostgreSQL en Foros del Web. Buenos dias, preciso ayuda para tratar un array en Postgresql. Yo trabajo en Python 2.7, Psycopg2 y Postgresql. Mi problema es más de sintaxis ya ...
  #1 (permalink)  
Antiguo 29/03/2012, 03:33
 
Fecha de Ingreso: diciembre-2010
Ubicación: Mallorca
Mensajes: 139
Antigüedad: 13 años, 4 meses
Puntos: 3
Problema con array en Postgresql y Psycopg2

Buenos dias, preciso ayuda para tratar un array en Postgresql. Yo trabajo en Python 2.7, Psycopg2 y Postgresql.

Mi problema es más de sintaxis ya que he consultado en la web pero no sé como poner la sintaxis en Psycopg2, ¿alguien puede ayudarme?.

Tengo una tabla definida con un campo array s_tercero numeric(10,2)[]

Código HTML:
Ver original
  1. CREATE TABLE prueba
  2. (
  3.   s_id bigserial NOT NULL,
  4.   s_primero character(6) NOT NULL,
  5.   s_segundo character(3) NOT NULL,
  6.   s_tercero numeric(10,2)[],
  7.   CONSTRAINT s_di_pk PRIMARY KEY (s_id),
  8.   CONSTRAINT s_di_index_1 UNIQUE (s_primero, s_segundo)
  9. )
  10. WITH (
  11.   OIDS=FALSE
  12. );
  13. ALTER TABLE prueba OWNER TO postgres;
  14.  
  15.  
  16. Tengo un módulo en el que hay una función para insertar valores...
  17.  
  18. def insertar_valor(campoa, campob, campoc, valor):
  19.     try:
  20.         cur=cns.cursor()
  21.         SQL = """INSERT INTO prueba (s_primero, s_segundo, s_tercero)  
  22.             VALUES (%s,%s,%s);"""
  23.         data = (campoa, campob, campoc values ('{valor}'))
  24.         cur.execute(SQL, data)
  25.         cns.commit()
  26.         cur.close()
  27.     except Exception, e:
  28.         print "mal insert", e
  29.         cur.close()
  30.     #
  31.  
  32. import psycopg2 #@UnresolvedImport
  33. global cn, cns, precis_h, intervalo
  34. cns = psycopg2.connect("host=localhost dbname=prueba user=postgres password=*******")
  35.  
  36. campoa='XXXXXX'
  37. campob='MMM'
  38. campoc=20,50
  39. valor=5
  40.  
  41. insertar_valor(campoa, campob, campoc, valor)


mi gran duda es ¿cómo poner la sintaxis para añadir al campo array?

Gracias.
  #2 (permalink)  
Antiguo 31/03/2012, 22:16
 
Fecha de Ingreso: octubre-2010
Mensajes: 83
Antigüedad: 13 años, 6 meses
Puntos: 4
Respuesta: Problema con array en Postgresql y Psycopg2

No entiendo la linea 23.

La insercion de un array es como cualquier otro campo es decir campoc debe ser una lista.

E.G.

Código:
cursor.execute('INSERT INTO foo (bar, baz) VALUES (%s, %s)', ('abc', [1, 2, 3],))
Donde bar es varchar y baz es array.
  #3 (permalink)  
Antiguo 06/04/2012, 00:12
 
Fecha de Ingreso: diciembre-2010
Ubicación: Mallorca
Mensajes: 139
Antigüedad: 13 años, 4 meses
Puntos: 3
Respuesta: Problema con array en Postgresql y Psycopg2

gracias por tu respuesta,

Etiquetas: postgre, postgres, sql
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:58.