Group: microsoft.public.it.sql




Subject: blocco di una tabella
From: AlessandroD
Date: 5/10/2007 2:47:26 PM
Josef Knecht wrote: > Salve a tutti, ho il seguente problema: nella stored che mostro > sotto, se passo per il primo ramo, ho due insert, nel caso in cui la > seconda insert va in errore, la prima non viene eseguita (ho > rollback) però la tabella rimane bloccata. da sql analyzer ho > l'errore che dopo il conteggio degli execute manca un rollback o un > commit, ma non riesco a capire perchè: > Un: set @errore= 0 come prima istruzione della tua sp non ti aiuta? Poi è meglio se usi la scope_identity() per recuperare l'ultimo valore assegnato. E non ha molto senso questo: INSERT INTO cbo_Clienti (Descrizione) values (@Cliente) SELECT @errore = @@error SET @IdClienteNuovo = (SELECT IDENT_CURRENT('cbo_clienti')) INSERT INTO Bandi2 (IDCliente, IDSettore, Descrizione) VALUES (@IDClienteNuovo, @IDSettore, @Bando) SELECT @errore = @@error Perché intercetti il primo errore se poi non lo gestisci? Ciao, Alessandro

Subject: blocco di una tabella
From: AlessandroD
Date: 5/11/2007 8:46:52 AM
Josef Knecht wrote: > La stored non è finita, poichè ho notato questa anomalia non sono > andato avanti con la gestione degli errori; > con l'inizializzazione della variabiale @errore non riesco ad avere > maggiori informazioni > Dici che il problema lo hai riscontrato richimando la sp da QA, posta il codice che esegui in QA che ti solleva l'errore di @@trancount non bilanciato. Ciao, Alessandro.