HI EVERYONE! I GOT A PROBLEM GETTING AN IDENTITY FROM A TABLE. I AM AMKING A STORE PROCEDURE THAT INSERT A NEW COUNT INTO A COUNT TABLE BUT I NEED TO GET THE PRIMARY KEY (ID) TO EXECUTE THE OTHER PROCEDURE THAT DEPEND ON THE PRIMARY KEY INSERTED BUT IT DOES NOT WORK.
I WOULD REALLY APPRECITE YOUR HELP
THAKS
THE LINE BELOW DESCRIBE THE STORED PROCEDURE:
ALTER PROCEDURE cc_agregar_cuenta_sp
(@Cuenta varchar(10),
@Oficina as varchar(30),
@TipoCuenta as varchar(30),
@NombresOEmpresa varchar(30),
@ApellidosOEmpresa varchar(30),
@Cedula_RIF varchar(15),
@NumeroNIT varchar(15),
@Nacionalidad varchar(25),
@DiaNacimiento varchar(2),
@MesNacimiento varchar(9),
@AnoNacimiento varchar(4),
@Sexo varchar(3),
@EstadoCivil varchar(20),
@NivelEducativo varchar(20),
@Profesion varchar(30),
@ActividadLaboral varchar(30),
@Tipo_Direccion_Servicio varchar(20),
@Direccion_Servicio varchar(160),
@Sector_Servicio varchar(20),
@Ciudad_Servicio varchar(50),
@ZonaPostal_Servicio varchar(10),
@Estado_Servicio varchar(30),
@Direccion_Correspondencia varchar(160),
@Sector_Correspondencia varchar(50),
@Ciudad_Correspondencia varchar(50),
@ZonaPostal_Correspondencia varchar(10),
@Estado_Correspondencia varchar(30),
@TipoDireccion_Correspondencia varchar(50),
@Empresa_Trabajo varchar(60),
@Cargo_Trabajo varchar(50),
@NivelIngresoAnual varchar(30),
@Telefono_Habitacion varchar(30),
@Telefono_Trabajo varchar(30),
@Telefono_Celular varchar(30),
@CorreoElectronico varchar(30),
@Detalle_Vehiculo varchar(20),
@PKUsuario int,
@NumeroDocumento varchar(30),
@TipoDocumento varchar(30),
@BancoEmisor varchar(30),
@StatusDocumento varchar(30),
@AnoExpiracion varchar(4),
@MesExpiracion varchar(2)
)
AS
Begin
Declare @PKOficina int
Declare @PKTipoCuenta int
Declare @PKEstatusCuenta int
Declare @PKFactura int
Declare @PKServicio int
Declare @PK int
Declare @PKCliente int
Declare @PKSuscriptor int
Declare @PKVAServicio int
Declare @Operacion varchar(50)
Declare @Resultado as Varchar(250)
Declare @ConjuntoResultado table(Resultado varchar(250), PKCliente int)
SET @PKOficina= 0
Select @PKOficina = PKOficina
From OFICINAS Where Oficina = @Oficina
SET @PKTipoCuenta= 0
Select @PKTipoCuenta = PKTipoCuenta
From TIPOCUENTA Where TipoCuenta = @TipoCuenta
If @PK <>0
BEGIN
Declare @rowcount as int,
@error as int,
@msg as varchar(255),
@retval as int,
@tranName as sysname,
@msgTag as varchar(255)
Set @tranName= object_name(@@procid)+ cast(@@nestlevel as varchar(2))
SET @MsgTag= '<'+ object_name(@@procid)+';TYPE=P'
SET @TranName= 'My Trasnc'
BEGIN TRANSACTION @TranName
-- VERIFICA SI EL SUSCRIPTOR TIENE CUENTA CREADA SI ES NO INSERTA UNA NUEVA
If @Cuenta=0
Begin
INSERT INTO [CUENTA](Cuenta,FKOficina,FKTipoCuenta)
VALUES(@Cuenta,@PKOficina,@PKTipoCuenta)
SELECT @@IDENTITY AS 'Identity'
--Set @PKCliente= @@Identity
End
Else
Begin
Insert @ConjuntoResultado Select 'Se ha presentado un error. No se pudo realizar la insercion de la cuenta ',-1
Select * from @ConjuntoResultado
End
--EJECUTA EL PROCEDIMIENTO DE AGREGAR REFERENCIA
EXEC cc_Agregar_Referencia_sp @PKCliente, @NombresOEmpresa,@ApellidosOEmpresa,
@Cedula_RIF ,@NumeroNIT,@Nacionalidad,@DiaNacimiento,
@MesNacimiento,@AnoNacimiento,@Sexo,@EstadoCivil,
@NivelEducativo,@Profesion,@ActividadLaboral,@Tipo_Direccion_Servicio,
@Direccion_Servicio,@Sector_Servicio,@Ciudad_Servicio,
@ZonaPostal_Servicio,@Estado_Servicio,@Direccion_Correspondencia,
@Sector_Correspondencia,@Ciudad_Correspondencia,@ZonaPostal_Correspondencia,
@Estado_Correspondencia,@TipoDireccion_Correspondencia,@Empresa_Trabajo,
@Cargo_Trabajo,@NivelIngresoAnual,@Telefono_Habitacion, @Telefono_Trabajo,
@Telefono_Celular,@CorreoElectronico,@Detalle_Vehiculo, @PKUsuario
--EJECUTA EL PROCEDIMIENTO DE INSERTAR REFERENCIA BANCARIA
EXEC cc_agregar_referencias_bancarias_sp @PKCliente,@NumeroDocumento,@TipoDocumento,
@BancoEmisor, @TipoCuenta,@StatusDocumento,
@AnoExpiracion,@MesExpiracion
--EJECUTA ENVIO DE COMANDO
EXEC cc_envio_comandos_plataforma_sp @PKSuscriptor,@Operacion,@PKVAServicio
Select @rowcount=@@rowcount, @error =@@error
If @error!=0
Begin
ROLLBACK TRAN @tranName
COMMIT TRAN
SELECT @msg = 'Ha ocurrido un Problema al momento de realizar Ingresar la Cuenta. El proceso no se completo con exito'
RAISERROR 50001 @msg
RETURN -100
End
Set @Resultado =''
IF @RESULTADO = ''
Insert @ConjuntoResultado Select 'Cuenta Creada con Exito',@PKCliente
COMMIT TRAN
select * from @ConjuntoResultado
RETURN 0
End
End
I WOULD REALLY APPRECITE YOUR HELP
THAKS
THE LINE BELOW DESCRIBE THE STORED PROCEDURE:
ALTER PROCEDURE cc_agregar_cuenta_sp
(@Cuenta varchar(10),
@Oficina as varchar(30),
@TipoCuenta as varchar(30),
@NombresOEmpresa varchar(30),
@ApellidosOEmpresa varchar(30),
@Cedula_RIF varchar(15),
@NumeroNIT varchar(15),
@Nacionalidad varchar(25),
@DiaNacimiento varchar(2),
@MesNacimiento varchar(9),
@AnoNacimiento varchar(4),
@Sexo varchar(3),
@EstadoCivil varchar(20),
@NivelEducativo varchar(20),
@Profesion varchar(30),
@ActividadLaboral varchar(30),
@Tipo_Direccion_Servicio varchar(20),
@Direccion_Servicio varchar(160),
@Sector_Servicio varchar(20),
@Ciudad_Servicio varchar(50),
@ZonaPostal_Servicio varchar(10),
@Estado_Servicio varchar(30),
@Direccion_Correspondencia varchar(160),
@Sector_Correspondencia varchar(50),
@Ciudad_Correspondencia varchar(50),
@ZonaPostal_Correspondencia varchar(10),
@Estado_Correspondencia varchar(30),
@TipoDireccion_Correspondencia varchar(50),
@Empresa_Trabajo varchar(60),
@Cargo_Trabajo varchar(50),
@NivelIngresoAnual varchar(30),
@Telefono_Habitacion varchar(30),
@Telefono_Trabajo varchar(30),
@Telefono_Celular varchar(30),
@CorreoElectronico varchar(30),
@Detalle_Vehiculo varchar(20),
@PKUsuario int,
@NumeroDocumento varchar(30),
@TipoDocumento varchar(30),
@BancoEmisor varchar(30),
@StatusDocumento varchar(30),
@AnoExpiracion varchar(4),
@MesExpiracion varchar(2)
)
AS
Begin
Declare @PKOficina int
Declare @PKTipoCuenta int
Declare @PKEstatusCuenta int
Declare @PKFactura int
Declare @PKServicio int
Declare @PK int
Declare @PKCliente int
Declare @PKSuscriptor int
Declare @PKVAServicio int
Declare @Operacion varchar(50)
Declare @Resultado as Varchar(250)
Declare @ConjuntoResultado table(Resultado varchar(250), PKCliente int)
SET @PKOficina= 0
Select @PKOficina = PKOficina
From OFICINAS Where Oficina = @Oficina
SET @PKTipoCuenta= 0
Select @PKTipoCuenta = PKTipoCuenta
From TIPOCUENTA Where TipoCuenta = @TipoCuenta
If @PK <>0
BEGIN
Declare @rowcount as int,
@error as int,
@msg as varchar(255),
@retval as int,
@tranName as sysname,
@msgTag as varchar(255)
Set @tranName= object_name(@@procid)+ cast(@@nestlevel as varchar(2))
SET @MsgTag= '<'+ object_name(@@procid)+';TYPE=P'
SET @TranName= 'My Trasnc'
BEGIN TRANSACTION @TranName
-- VERIFICA SI EL SUSCRIPTOR TIENE CUENTA CREADA SI ES NO INSERTA UNA NUEVA
If @Cuenta=0
Begin
INSERT INTO [CUENTA](Cuenta,FKOficina,FKTipoCuenta)
VALUES(@Cuenta,@PKOficina,@PKTipoCuenta)
SELECT @@IDENTITY AS 'Identity'
--Set @PKCliente= @@Identity
End
Else
Begin
Insert @ConjuntoResultado Select 'Se ha presentado un error. No se pudo realizar la insercion de la cuenta ',-1
Select * from @ConjuntoResultado
End
--EJECUTA EL PROCEDIMIENTO DE AGREGAR REFERENCIA
EXEC cc_Agregar_Referencia_sp @PKCliente, @NombresOEmpresa,@ApellidosOEmpresa,
@Cedula_RIF ,@NumeroNIT,@Nacionalidad,@DiaNacimiento,
@MesNacimiento,@AnoNacimiento,@Sexo,@EstadoCivil,
@NivelEducativo,@Profesion,@ActividadLaboral,@Tipo_Direccion_Servicio,
@Direccion_Servicio,@Sector_Servicio,@Ciudad_Servicio,
@ZonaPostal_Servicio,@Estado_Servicio,@Direccion_Correspondencia,
@Sector_Correspondencia,@Ciudad_Correspondencia,@ZonaPostal_Correspondencia,
@Estado_Correspondencia,@TipoDireccion_Correspondencia,@Empresa_Trabajo,
@Cargo_Trabajo,@NivelIngresoAnual,@Telefono_Habitacion, @Telefono_Trabajo,
@Telefono_Celular,@CorreoElectronico,@Detalle_Vehiculo, @PKUsuario
--EJECUTA EL PROCEDIMIENTO DE INSERTAR REFERENCIA BANCARIA
EXEC cc_agregar_referencias_bancarias_sp @PKCliente,@NumeroDocumento,@TipoDocumento,
@BancoEmisor, @TipoCuenta,@StatusDocumento,
@AnoExpiracion,@MesExpiracion
--EJECUTA ENVIO DE COMANDO
EXEC cc_envio_comandos_plataforma_sp @PKSuscriptor,@Operacion,@PKVAServicio
Select @rowcount=@@rowcount, @error =@@error
If @error!=0
Begin
ROLLBACK TRAN @tranName
COMMIT TRAN
SELECT @msg = 'Ha ocurrido un Problema al momento de realizar Ingresar la Cuenta. El proceso no se completo con exito'
RAISERROR 50001 @msg
RETURN -100
End
Set @Resultado =''
IF @RESULTADO = ''
Insert @ConjuntoResultado Select 'Cuenta Creada con Exito',@PKCliente
COMMIT TRAN
select * from @ConjuntoResultado
RETURN 0
End
End