[firebase-br] Comando Firebird

Gladiston Santana gladiston em vidy.com.br
Qua Jul 3 10:22:00 -03 2013


Claro que tem, peça ao seu "amigo" dar uma olhada no manual online do
Firebird. O FB não funciona sem uma transação, até no select, tá envolvido
uma.
Inclusive entre os manuais de referencia há um doc especifico para ajudar
no entendimento  MSSQL para Firebird, explica didaticamente como lidar com
certos tipos, conversoes, declarações de variaveis, etc...
Apenas não usamos 'begin/start transaction' em procedures porque o que
fizer no FB já está numa transação mesmo que não mencione-a, isso por sí só
já garante a certificação de atomicidade então o que os que migram do MSSQL
devem saber não é como iniciar a transação - porque ela sempre tá lá -, mas
sim como encerrá-la com commit ou rollback e nesse caso há os comandos de
tratamento de erros que podem ser usados por meio de if's :
  if (:l_conn_string='') then
  begin
    EXCEPTION ERR 'Servidor [CEP] não está registrado em nosso sistema !';
    exit;
  end

Uma exception não precisa de um rollback explicito, ele já entende que a
transação até aquele ponto precisa ser desfeita. Há outros comandos para
tratamento de erros, até mesmo no velho estilo basic on error gosub (fui
muito longe dessa vez?).

Fora de uma procedure, como por exemplo escrever scripts SQL, aí sim voce
pode usar comandos que especifiquem explicitamente um inicio ou termino de
transação e há muitas delas, além do set transaction, a mais parecida com
start transaction talvez seja o save point/commit work.

[]'s


Em 2 de julho de 2013 14:05, Fabricio Videira
<develop.fabricio em gmail.com>escreveu:

> Boa Tarde!
>
> Hoje pela manhã um amigo meu me fez uma pergunta e pesquisei um pouco mas
> não achei nada produtivo. Ele me perguntou se existe um comando no Firebird
> igual ao "Start Transaction" (é do MSSQL). Peço ajuda a vocês pois
> desconheço qualquer comando similar a esse no Firebird.
>
> Obrigado!!
>
> --
> *
> Att.
>
> Fabrício Videira*
> *Programador Delphi, C#, Java*
> (*(14) 3283-1336 *(*(**14) 9653-5587*
> **develop.fabricio em gmail.com*
> ______________________________________________
> FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
> Para saber como gerenciar/excluir seu cadastro na lista, use:
> http://www.firebase.com.br/fb/artigo.php?id=1107
> Para consultar mensagens antigas: http://firebase.com.br/pesquisa
>



Mais detalhes sobre a lista de discussão lista