Tema: ayuda insert
Ver Mensaje Individual
  #7 (permalink)  
Antiguo 15/02/2010, 14:24
Avatar de HackmanC
HackmanC
 
Fecha de Ingreso: enero-2008
Ubicación: Guatemala
Mensajes: 1.817
Antigüedad: 16 años, 3 meses
Puntos: 260
Sonrisa Respuesta: ayuda insert

Hola,

Cita:
Iniciado por sergiop21 Ver Mensaje
estoy usando postgres, ...
Ooops! ... no tengo ni idea de Postgre. No sé por qué pensé que estabas usando MySQL :.

Ahora bien, viene siendo parecido en casi todos los RDBMS, con algunas diferencias dependiendo de la base de datos y otros detalles internos de la misma (como el caso de MySQL y los engines).

Básicamente ...

Código:
BEGIN TRANSACTION // <- Inicia una transacción.
INSERT ...
UPDAT ...
DELETE ...
if ($TODO = 'OK')
  COMMIT // <- Hace las operaciones anteriores
else
  ROLLBACK // <- Descarta las operaciones
Todo lo tienes que hacer en la misma conexión. Ahora bien ... ¿Qué va a hacer Postgre si cualquier operación falla sin llegar al 'if'? ... ¿Va a hacer un commit o un rollback? ... Depende de Postgre o la configuración del BEGIN TRANSACTION.

Ahora bien ... eso funciona solamente si tu aplicación está bien diseñada. Si tu aplicación no ingresa datos porque 'no quiso', entonces a la base de datos le dá igual.

Por ejemplo:

Si el código no pasa por este if:
Código:
if ($fdev_primer >= "1")
entonces el 3 INSERT no se va a ejecutar, y tu programa posiblemente tiene un problema de lógica.

Busca mayor información de la versión de Postgre que estas usando, allí está mucho mejor explicado y detallado.


Cita:
Iniciado por sergiop21 Ver Mensaje
CREATE OR REPLACE FUNCTION ...
Es es una función de Postgre, posiblemente alguien con mayor conocimiento en las instrucciones específicas de Postgre te sea de mayor ayuda.

Saludos,

Última edición por HackmanC; 15/02/2010 a las 14:41 Razón: arreglos