Olá,
Em 18 de agosto de 2010 20:47, Victor Hugo <[email protected]> escreveu: > Marcelo, > > Boa noite, > > O comando BEGIN inicia um bloco de comandos SQL que fazem parte de uma > transação. Os comandos realizados após o este comando só são > persistidos em disco e seus resultados só são apresentados aos demais > usuários do banco após a efetivação com o comando COMMIT. > > A transação é finalizada pelo comando COMMIT, o qual dispara a > efetivação da transação no banco de dados e torna visível para os > demais usuários os resultados da execução dos seus comandos. > > O comando ROLLBACK aborta a transação que está em andamento, impedindo > que os as alterações nos dados nela realizadas sejam persistidos no > banco de dados. > > 1 - Sintaxe mais simples com BEGIN e COMMIT > > BEGIN; > insert into tstdel values (1,'teste', current_timestamp); > insert into tstdel values (2,'teste2', current_timestamp); > SELECT * FROM tstdel; > COMMIT; > > 2 - A transação abaixo é abortada com o ROLLBACK. A inserção realizada > não é gravada no banco de dados. > > BEGIN; > insert into tstdel values (1,'teste', current_timestamp); > ROLLBACK; > > Eu não sou desenvolver, mas acho que deve ter alguma forma de passar > essa sintaxe do BEGIN pelo Zeoslib. > > []´s > Victor Hugo > > > > > > > Em 18 de agosto de 2010 20:28, Marcelo Silva <[email protected]> escreveu: > > Pessoal, com o MySQL + Zeos + Delphi eu posso fazer: > > > > if (os campos estao OK) then begin > > try > > ZConexao.Commit; // se está tudo ok ele confirma a gravação na > base > > except > > ZConexao.Rollback; // se deu algum erro na hora de gravar ele > > retorna tudo > > end; > > end; > > > > Imagino que deve existir Rollback no Postgres, mas tentando ativar a > > propriedade "TransactIsolationLevel" no componete Zeos (ZConnection) ele > > diz: > > > > Transaction isolation level is not supported. > > Alguém tem alguma sugestão neste sentido? > > Uso muito isso para não deixar dados orfãos na base. > Apenas para completar, acredito ser interessante você dar uma olhada na documentação sobre esta questão para entender melhor como isso funciona no PostgreSQL. De uma olhada em: http://www.postgresql.org/docs/8.4/interactive/transaction-iso.html > > > > > > Marcelo Silva > > ------------------------------------------------ > > msn: [email protected] > > cel.: (11) 9693-4251 > > Kubuntu User number is # 24362 > > > > > > _______________________________________________ > > pgbr-geral mailing list > > [email protected] > > https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral > > > > > > > > -- > []´s > Victor Hugo > _______________________________________________ > pgbr-geral mailing list > [email protected] > https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral > []s -- JotaComm http://jotacomm.wordpress.com
_______________________________________________ pgbr-geral mailing list [email protected] https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
