Olá,

Em 18 de agosto de 2010 20:47, Victor Hugo <vh.cleme...@gmail.com> 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 <marc...@ig.com.br> 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: marc...@ig.com.br
> > cel.: (11) 9693-4251
> > Kubuntu User number is # 24362
> >
> >
> > _______________________________________________
> > pgbr-geral mailing list
> > pgbr-geral@listas.postgresql.org.br
> > https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
> >
> >
>
>
>
> --
> []´s
> Victor Hugo
> _______________________________________________
> pgbr-geral mailing list
> pgbr-geral@listas.postgresql.org.br
> https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
>


[]s
-- 
JotaComm
http://jotacomm.wordpress.com
_______________________________________________
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral

Reply via email to