USE [NombreEsquema]

GO

/**** Object: StoredProcedure [dbo].[sp_Tabla_mant] Script Date: 20/08/2010  16:15:26 ******/

SET ANSI_NULLS ON

GO

SET QUOTED_IDENTIFIER ON

GO

-- ==================================================================================

-- Author: Sr. Bacatazo

-- Create date: 20/08/2010

-- Descripción: Mantenimiento de Tabla

-- Parámetros: DesError: descripcion del error si se produce

-- =============================================

alter PROCEDURE [dbo].[sp_Tabla_mant]

@Accion tinyint,

@Columna1 varchar(2),

@Columna2 varchar(2),

@Columna3 varchar(4),

@Operador    varchar(10),

@DesError varchar(100) output

AS

BEGIN

set @DesError = ''

--Añadir Registro en la Tabla

if @Accion = 1

begin

BEGIN TRAN

INSERT into dbo.Tabla

(Columna1, Columna2, Columna3, Operador, fechadeProceso)

VALUES (@Columna1, @ Columna2, @ Columna3, @Operador, CONVERT(VARCHAR, getdate(), 111))

if @@ERROR <> 0

begin

select @DesError = 'Error ' + convert(varchar, @@ERROR) + ': No se pudo crear el registro ‘

ROLLBACK

return 99

end

COMMIT TRAN

end

--Eliminar Registro

if @Accion = 2

begin

-- Comienzo transaccion

BEGIN TRAN

Delete from dbo.Tabla Where Columna1 = @Columna1

if @@ERROR <> 0

begin

select @DesError = 'Error ' + convert(varchar, @@ERROR) + ': al el registro.'

ROLLBACK

return 99

end

COMMIT TRAN

end

--Modificar Registro

if @Accion = 3

begin

BEGIN TRAN

Update dbo.Tabla set Columna2 = @Columna2, Columna3 = @Columna3, operador = @Operador, fechaproceso = CONVERT(VARCHAR, getdate(), 111)

where Columna1 = @Columna1

if @@ERROR <> 0

begin

select @DesError = 'Error ' + convert(varchar, @@ERROR) + ': al actualizar el registro'

ROLLBACK

return 99

end

                                COMMIT TRAN

end

--Todo OK

return 0

END