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

problema con funciones utilizando booleanos

Estas en el tema de problema con funciones utilizando booleanos en el foro de PostgreSQL en Foros del Web. Hola a todos, espero que alguien me pueda ayudar en algo. Mi problema es el siguiente: trabajo con PostgreSQL 8.2 para Windows, en la empresa ...
  #1 (permalink)  
Antiguo 08/05/2007, 11:42
 
Fecha de Ingreso: enero-2007
Mensajes: 10
Antigüedad: 17 años, 3 meses
Puntos: 0
problema con funciones utilizando booleanos

Hola a todos, espero que alguien me pueda ayudar en algo. Mi problema es el siguiente: trabajo con PostgreSQL 8.2 para Windows, en la empresa donde trabajo decidieron que se dejarian de utilizar vistas y las reemplazaríamos con tablas pero para jalar los datos teníamos que utilizar funciones para poder insertar, borrar y actualizar los datos. En una tabla tenemos dos campos booleanos, el chavo que creo las funciones me dijo que los booleanos no se podían insertar como todos los demas datos y decidió pasarlo con un cast pero al momento de que se insertan los datos en la tabla copia (por llamar asi a la antigua vista) nos marca un error que es el siguiente:

CONTEXT: SQL statement "SELECT dblink_exec('hostaddr=192.168.1.102 port=5432 dbname=BD_SIFAR user=
postgres password=admin', 'INSERT INTO SAC_TARJETA_CREDITO values ('''|| $1 ||''','''|| $2 ||''',CAS
T(NEW.TARJETA_CREDITO_VALIDA AS BOOLEAN)),'''|| $3 ||''','''|| $4 ||''','''|| $5 ||''',
'''|| $6 ||''','''|| $7 ||''',CAST(NEW.PREFERIDA AS BOOLEAN),'|| $8 ||');')".

Ya le hemos modificado lo que se nos ha ocurrido pero siempre marca ese error en el cast. No nos permite poner esos datos con la sintaxis para todos los demas tipos de datos por que nos dice que el operador || no es valido para datos booleanos, le hemos quitado los pipers, las comillas y nada. Todo sigue igual. Si alguien tuviera una idea del porque del error se los agradecería bastante.
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 08:22.