Ver Mensaje Individual
  #1 (permalink)  
Antiguo 29/03/2012, 03:33
jugivi
 
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.