dbo.abm_telefonos

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_telefono bigint 8
@tax_id int 4
@numero_telefono varchar 100
@tipo varchar 10
@activo bit 1

SQL Script

Copy
SET QUOTED_IDENTIFIER, ANSI_NULLS ON
GO

/*
EXEC abm_telefonos 'EDITAR','38043393',NULL,'11111111111','OTRO','1'

select * from padrones where identificacion = '27208925658'
select top 10 * from telefonos where telefono like '%+%'
*/


CREATE OR ALTER PROCEDURE dbo.abm_telefonos
    -- PARAMETROS
    @accion VARCHAR(20),    
 @id_telefono bigint = NULL,
    @tax_id INT = NULL,
    @numero_telefono varchar(100) = NULL,
    @tipo varchar(10) = NULL, 
 @activo BIT = NULL
AS
BEGIN
    -- ALTA TELEFONO
    IF ( @accion='ALTA' )
        BEGIN TRY
            INSERT INTO telefonos(
                id_padron,
                telefono,
                tipo, activo                
            ) VALUES (            
                @tax_id,
                @numero_telefono,
                @tipo, 1               
            );
            --
            SELECT id_telefono, id_padron, telefono, tipo, isnull(activo,1) as activo
   FROM telefonos 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_telefono, id_padron, telefono, tipo, isnull(activo,1) as activo FROM telefonos 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 telefonos SET
                telefono=@numero_telefono,
                tipo=@tipo, 
    activo = @activo 
            WHERE id_telefono=@id_telefono
            RETURN;
        END TRY
        BEGIN CATCH
            SELECT 'El registro no se pudo actualizar' AS ERROR
        END CATCH

    -- CAMBIO ESTADO
    IF ( @accion='ESTADO' )
        BEGIN TRY
            UPDATE telefonos 
      SET activo = iif(isnull(activo,1)=1,0,1) 
             WHERE id_telefono=@id_telefono
            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