Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

manga

Usando Begin, Commit e RollBackTrans no SQL

Recommended Posts

Oi pessoal,Quando uso o Access, costumo fazer controle de erros, através dos comandos Begin, Commit e RollBackTrans, sem problemas. Entretanto, com o SQL Server, é preciso usar um recordset diferente para cada ação no BD, se não dá aquele erro: "Transaction cannot have multiple recordsets". Como faço muitas transações, acaba ficando improdutivo abrir e fechar uma grande quantidade de recordsets.Alguém conhece uma maneira mais inteligente de controlar transações no SQL Server, tipo usar um tipo de cursor que possibilite o uso de vários recordsets?Valeu! B)

Compartilhar este post


Link para o post
Compartilhar em outros sites

E ae Manga beleza?Normalmente eu controlo as transações na aplicação e não no banco.fica mais consistente.Nos scripts SQL uso o RAISERROR(...,16, -1) RETURNaí reporta o erro ao método que o chamou, no caso a aplicação. Mas isso varia de padrão de projetos e quem está desenvolvendo.Existe uma variável do MSSQL @@transCount ou coisa parecida, (confira no books on line) que retorna o número de transações correntes no banco. Mas pode ser complicado caso tenha muitos usuários acessando a mesma função.Outra coisa: Transações é bom você usar para UPDATE, INSERT, DELETE. Para retornar resultsets é bom usar querys sem transactions. Nunca se esqueça de fechar o ResultSet após usá-lo.T+++

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.