[Cascavel-pm] Res: Res: Duvida $dbh->prepare

Gilmar Santos Jr gilmarjr em dcc.ufba.br
Sexta Janeiro 26 07:05:10 PST 2007


Patty Silva escreveu:
> Esta ai pessoal...... uma coisa que nunca coloco nos meus porgramas
> quando busco no BANCO eh o    $sth2->commit;  ??? eh necessario??? pra
> q serve??

Patty, geralmente há grupos de operações que desejamos que ou aconteçam
completamente ou não aconteçam, pois se acontecerem pela metade deixa o
banco inconsistente. Então temos o conceito de "transaction". Essa
operações são feitas dentro de transactions e quando está tudo OK tá na
hora de confirmar isso e colocar no disco. Pra isso o "commit".

Na conexão com o banco você pode especificar a opção "AutoCommit":

my $dbh = DBI->connect($dsn, $user, $pass, { AutoCommit => 0});

Pra o MySQL (e tenho quase certeza que para todos os bancos) se você não
especificar nada o padrão é 1, ou seja, cada operação é executada de
fato e as mudanças que ela causa são permanentes. A depender do seu uso
você vai querer que as coisas funcionem assim, ou não.

[]'s
Gilmar


Mais detalhes sobre a lista de discussão Cascavel-pm