Ayuda con transacciones

19/01/2005 - 17:11 por 3lv | Informe spam
Hola grupo,

Estoy usando por primera vez transacciones en SQL, en
donde un stored procedure ejecuta dentro de el otro, en
el primer stored procedure puse una transaccion:

CREATE PROCEDURE dbo.spS_LeerDatosSP1_SP2PAI
@Sol_Numero int

AS
BEGIN TRAN TRANS1

DECLARE @NSS char(11)
DECLARE @num_bim int
DECLARE @cta_viv92 money
DECLARE @cta_viv97 money

select @NSS=Sol_nIMSSoISSTE from Solici where
Sol_Numero=@Sol_numero

if(@NSS is null or len(@NSS) <> 11)
begin
raiserror('No se encontró el NSS para este
expediente o no tiene 11 caracteres',10,1)
return
end


select
@num_bim=num_bim, @cta_viv92=cta_viv92,
@cta_viv97=cta_viv97,@NSS=nss
from BD_Pai.dbo.acreditados
where nss=@NSS

select
@num_bim num_bim, @cta_viv92 cta_viv92,
@cta_viv97 cta_viv97, @nss nss
COMMIT TRAN TRANS1
GO

despues de este puse la segunda transaccion

BEGIN TRAN TRANS2
exec spI_SP1SP2ApoyoInfonavit 1,55,0,15.23,'2005-28-
05','03','0'
COMMIT TRAN TRANS2
GO

Por supuesto no crea ningun error pero la segunda
transaccion siempre queda igual y yo quiero cambiarle
algunos parametros, como hago para borrar esa segunda
transaccion?, en que momento uso el rollback?

Gracias.

Espero haberme hecho entender :S
 

Leer las respuestas

#1 Isaías
19/01/2005 - 18:06 | Informe spam
if(@NSS is null or len(@NSS) <> 11)
begin
raiserror('No se encontró el NSS para este
expediente o no tiene 11 caracteres',10,1)
ROLLBACK TRAN nametran
return
end

Preguntas similares