none
Realizando um IF em uma procedure RRS feed

  • Pergunta

  • Boa tarde, estou precisando realizar um IF em uma procedure, mas como ainda sou leigo em sql server preciso de uma ajuda pra realizar esta tarefa.

    segue abaixo minha procedure

    ALTER PROCEDURE [dbo].[usp_ConsultaTransportadoraPic]

       @TRANSP VARCHAR(100)
        
    AS
    BEGIN
        
        SET NOCOUNT ON;
    IF(@TRANSP IS NOT NULL)

        SELECT DISTINCT
    SA4.A4_COD,
    SA4.A4_NOME,
    CONCAT(SA4.A4_DDD, ' - ', SA4.A4_TEL) AS TELEFONE
    FROM SA4010 AS SA4
    WHERE SA4.A4_NOME LIKE '%@TRANSP%'

    ELSE

        SELECT DISTINCT
    SA4.A4_COD,
    SA4.A4_NOME,
    CONCAT(SA4.A4_DDD, ' - ', SA4.A4_TEL) AS TELEFONE
    FROM SA4010 AS SA4


    END

    Desde já agradeço.


    JUNIOR GUERREIRO T.I

    sexta-feira, 13 de abril de 2018 16:38

Respostas

Todas as Respostas

  • Deleted
    sexta-feira, 13 de abril de 2018 16:51
  • Muito obrigado José, deu certinho vlw


    JUNIOR GUERREIRO T.I

    sexta-feira, 13 de abril de 2018 16:56
  • Junior,

    Esta faltando declarar os begin...end dentro do bloco da procedure.

    Veja se estas alterações te ajudam:

    ALTER PROCEDURE [dbo].[usp_ConsultaTransportadoraPic]
    
       @TRANSP VARCHAR(100)
        
    AS
    BEGIN
        
        SET NOCOUNT ON;
    IF(@TRANSP IS NOT NULL)
    Begin
        SELECT DISTINCT 
    SA4.A4_COD,
    SA4.A4_NOME,
    CONCAT(SA4.A4_DDD, ' - ', SA4.A4_TEL) AS TELEFONE
    FROM SA4010 AS SA4
    WHERE SA4.A4_NOME LIKE '%@TRANSP%'
    End
    ELSE
    Begin
        SELECT DISTINCT 
    SA4.A4_COD,
    SA4.A4_NOME,
    CONCAT(SA4.A4_DDD, ' - ', SA4.A4_TEL) AS TELEFONE
    FROM SA4010 AS SA4
    End
    
    END


    Pedro Antonio Galvão Junior [MVP | MCC | MSTC | MIE | Microsoft Evangelist | Microsoft Partner | Engenheiro de Softwares | Especialista em Banco de Dados | Professor Universitário | @JuniorGalvaoMVP | http://pedrogalvaojunior.wordpress.com]

    sexta-feira, 13 de abril de 2018 17:06