sql >> Database >  >> RDS >> Sqlserver

ROLLBACK TRANSACTION-verzoek heeft geen overeenkomstige BEGIN TRANSACTION

De foutmelding die u krijgt, is dat u terugdraait zonder een openstaande transactie te hebben (u hebt al gepleegd of teruggedraaid). Overweeg om de structuur van je opgeslagen proces op te schonen, probeer je hele opgeslagen proces als één transactie uit te voeren en terug te draaien als er een fout optreedt. U kunt ook testen of een terugdraaiing vereist is door te controleren of een transactie open is:

BEGIN TRANSACTION;
BEGIN TRY

   --execute all your stored proc code here and then commit
   COMMIT;

END TRY
BEGIN CATCH

   --if an exception occurs execute your rollback, also test that you have had some successful transactions
   IF @@TRANCOUNT > 0 ROLLBACK;  

END CATCH


  1. MultipleActiveResultSets=True of meerdere verbindingen?

  2. Worden gegevens in solr ondersteund door postgres in ckan

  3. Mysql-toestemmingsfouten met 'gegevens laden'

  4. Aanroepprocedure in orakel apex