dbo.abm_email

Description

Properties

Name Value
ANSI Nulls ON

True

Quoted Identifier ON

True

Encrypted

False

Execute As
Assembly

Parameters

6
Name Data Type Length Description
@accion varchar 20
@id_email int 4
@tax_id int 4
@email varchar 50
@tipo varchar 10
@activo bit 1

SQL Script

Copy
SET QUOTED_IDENTIFIER, ANSI_NULLS ON
GO

CREATE OR ALTER PROCEDURE dbo.abm_email
    -- PARAMETROS
    @accion VARCHAR(20),    
    @id_email INT = NULL,
    @tax_id INT = NULL,
    @email VARCHAR(50) = NULL,
    @tipo VARCHAR(10) = NULL,
    @activo BIT = NULL    
AS
BEGIN
    -- ALTA 
    IF ( @accion='ALTA' )
        BEGIN TRY
            INSERT INTO emails(
                id_padron,
                email,
                tipo,
                activo                
            ) VALUES (            
                @tax_id,
                @email,
                @tipo,
                1               
            );
            --
            SELECT id_email, id_padron, email, tipo, isnull(activo,1) as activo
            FROM emails WHERE id_padron=@tax_id
            RETURN
        END TRY
        BEGIN CATCH
            SELECT 'El registro no se pudo dar de alta' AS ERROR
        END CATCH
    
    --SELECCIONAR
     IF ( @accion='SELECCIONAR' )
        BEGIN TRY
            SELECT  id_email, id_padron, email, tipo, isnull(activo,1) as activo FROM emails WHERE id_padron=@tax_id
            RETURN
        END TRY
        BEGIN CATCH
            SELECT 'Ocurrio un error en la consulta' AS ERROR
        END CATCH
    
    --EDTAR
    IF( @accion='EDITAR' )
        BEGIN TRY
            UPDATE emails SET
                email=@email,
                tipo=@tipo,
                activo = @activo 
            WHERE id_email=@id_email
            RETURN;
        END TRY
        BEGIN CATCH
            SELECT 'El registro no se pudo actualizar' AS ERROR
        END CATCH

     -- CAMBIO ESTADO
    IF ( @accion='ESTADO' )
        BEGIN TRY
            UPDATE emails 
               SET activo = iif(isnull(activo,1)=1,0,1) 
             WHERE id_email=@id_email
            RETURN;
        END TRY
        BEGIN CATCH
            SELECT 'El registro no se pudo cambiar el estado' AS ERROR
        END CATCH

END
GO

Depends On

1

Used By

No items found