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.
|