|    
			
				22/05/2007, 12:53
			
			
			  | 
  |   |  |  |  Fecha de Ingreso: enero-2007 
						Mensajes: 10
					 Antigüedad: 18 años, 9 meses Puntos: 0 |  | 
  |  Re: Error en una funcion utilizando boolean  
  Asi es mi querido seyko, los datos deben quedar igual que en la tabla origen, ya he modificado la funcion, por recomendacion en otro foro, y ha quedado asi:
 CREATE OR REPLACE FUNCTION SAC_TARJETA_CREDITO() RETURNS TRIGGER AS
 $BODY$
 DECLARE
 
 BEGIN
 
 
 IF TG_OP='INSERT' THEN
 TARJETA_CREDITO_VALIDA=CAST(NEW.TARJETA_CREDITO_VA  LIDA AS VARCHAR);
 PREFERIDA=CAST(NEW.PREFERIDA AS VARCHAR);
 PERFORM dblink_exec('hostaddr=192.168.1.102 port=5432 dbname=BD_SIFAR user=postgres password=admin',
 'INSERT INTO SAC_TARJETA_CREDITO values ('||NEW.ID_TARJETA_CREDITO||','||NEW.ID_PERSONA||'  ,'||NEW.TARJETA_CREDITO_VALIDA||','||NEW.NUMERO_TA  RJETA||','||NEW.EXPEDIDA||','||NEW.EXPIRA||',
 '||NEW.ANTIGUEDAD||','||NEW.ID_TIPO_TARJETA||','||  NEW.PREFERIDA||','||NEW.NUMERO_SEGURIDAD||');');
 RETURN NEW;
 
 
 ELSEIF TG_OP='DELETE' THEN
 
 PERFORM dblink_exec('hostaddr=192.168.1.102 port=5432 dbname=BD_SIFAR user=postgres password=admin', 'DELETE FROM SAC_TARJETA_CREDITO WHERE '||OLD.ID_TARJETA_CREDITO||' = SAC_TARJETA_CREDITO.ID_TARJETA_CREDITO;');
 RETURN OLD;
 
 
 ELSEIF TG_OP='UPDATE' THEN
 
 PERFORM dblink_exec('hostaddr=192.168.1.102 port=5432 dbname=BD_SIFAR user=postgres password=admin',
 'UPDATE  SAC_TARJETA_CREDITO SET ID_TARJETA_CREDITO= '||NEW.ID_TARJETA_CREDITO||' , ID_PERSONA= '||NEW.ID_PERSONA||',
 TARJETA_CREDITO_VALIDA ='||NEW.TARJETA_CREDITO_VALIDA||', NUMERO_TARJETA ='||NEW.NUMERO_TARJETA||', EXPEDIDA = '||NEW.EXPEDIDA||', EXPIRA = '||NEW.EXPIRA||', ANTIGUEDAD ='||NEW.ANTIGUEDAD||'
 , ID_TIPO_TARJETA = '||ID_TIPO_TARJETA||' , PREFERIDA = '||NEW.PREFERIDA||' , NUMERO_SEGURIDAD = ' ||NEW.NUMERO_SEGURIDAD||' WHERE '||OLD.ID_TARJETA_CREDITO||'=SAC_TARJETA_CREDITO.I  D_TARJETA_CREDITO);');
 RETURN NEW;
 END IF;
 END;
 $BODY$
 LANGUAGE 'plpgsql';
 
 
 
 Pero me sigue saliendo un error que dice lo siguiente:
 
 cannot cast type boolean to character varying
 
 y de igual manera si pongo los campos como caracter y los paso como boolean.
 
 Cualquier idea es bien recibida.
 
 Gracias!!!
     |