Ver Mensaje Individual
  #1 (permalink)  
Antiguo 12/07/2011, 09:23
GUILLHERMOSOFT
 
Fecha de Ingreso: marzo-2009
Ubicación: Cali (Valle) - Colombia
Mensajes: 164
Antigüedad: 15 años, 1 mes
Puntos: 2
Transacción con bucle (ciclo) con PostgreSQL y PHP-PDO

Cordial Saludo

Actualmente estoy trabajando con PostgreSQL 8.4.8 conectado a PHP por medio de PDO, he realizado consultas de inserción (simple de un solo registro) como transacciones, la cual ha quedado de la siguiente manera:

Código:
$consulta = "INSERT INTO \"datosComercialesClientes\" (\"idCliente\", \"celular\", \"fax\", \"email\", \"diasPlazoCredito\", \"descuentoProntoPago\", \"descuentoComercial\", \"estadoRegistro\", \"creadoPor\", \"creadoEn\")
                    VALUES ($idCliente, NULL, NULL, '', NULL, NULL, NULL, '1', '$idCreador', 'now'::text::timestamp without time zone)";
        $guarda = $this->db->prepare($consulta);
        try {
            $this->db->beginTransaction();
            $guarda->execute();
            $this->db->commit();
            return true;
        } catch (PDOException $e) {
            $this->db->rollback();
            return false;
        }
más el registro que estoy guardando en el mismo formulario tiene relaciones de uno a muchos con otras entidades, mi pregunta puntual es ¿cómo podría "meter" (en la misma transacción) estas otras inserciones por medio de un bucle que recorra un array (donde estan los valores de las otras entidades)?, actualmente esto lo hago por medio de PHP y genero varias consultas de inserción, pero lo que considero ideal es que todas las inserciones queden en una misma transacción, para que se sumpla el primer principio ACID, es decir la atomicidad.

Quedo atento a sus comentarios.

Muchas gracias por su atención.