Home Page
Articoli
Tips & Tricks
News
Forum
Archivio Forum
Blogs
Sondaggi
Rss
Video
Utenti
Chi Siamo
Contattaci
Username:
Password:
Login
Registrati ora!
Recupera Password
Home Page
Stanze Forum
SQL Server 2000/2005/2008, Express, Access, MySQL, Oracle
Transazione
lunedì 31 dicembre 2012 - 14.02
Elenco Threads
Stanze Forum
Aggiungi ai Preferiti
Cerca nel forum
Elenco Tags
SQL Server 2008 R2
robex2012
Profilo
| Newbie
7
messaggi | Data Invio:
lun 31 dic 2012 - 14:02
Salve,
Ho un problema con questa sp, e non avendo mai usato le transazioni, Vi chiedo un aiuto.
ALTER PROCEDURE [dbo].[sp_DuplicaUtensile]
(
@idGruppo int
)
AS
DECLARE @NewidGruppo int
SET NOCOUNT ON;
BEGIN TRANSACTION;
INSERT dbo.tGruppi (idPreventivo, idTipoGruppo)
SELECT idPreventivo, idTipoGruppo
FROM dbo.tGruppi WHERE idGruppo = @idGruppo;
SET @NewidGruppo = SCOPE_IDENTITY();
INSERT dbo.tTeste_Preventivate (idTipo,idGruppo,Nr_Testa)
SELECT idTipo,@NewidGruppo,Nr_Testa
FROM dbo.tTeste_Preventivate
WHERE idGruppo = @idGruppo; RETURN @NewidGruppo;
COMMIT TRANSACTION;
IF @@TRANCOUNT > 0
BEGIN
ROLLBACK TRANSACTION;
END
Le Insert funzionano ma ottengo questo messaggio:
Il numero di transazioni dopo L'esecuzione di EXECUTE indica un numero di istruzioni BEGIN e COMMIT non corrispondente.
Numero di transazioni precedente:0, numero di transazioni corrente: 1
PerchË?
se faccio una sp con una sola insert tutto funziona.
ho provato a mettere gi˘ l'istruzione in vari modi ma il risultato non cambia.
grazie
mi rispondo io:
...
COMMIT TRANSACTION;
IF @@TRANCOUNT > 0
BEGIN
ROLLBACK TRANSACTION;
RETURN @NewidGruppo;
END
Torna su
Stanze Forum
Elenco Threads
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?
Dopo esserti registrato potrai chiedere
aiuto sul nostro
Forum
oppure aiutare gli altri
Consulta le
Stanze
disponibili.
Registrati ora !