Ir para conteúdo
Fórum Script Brasil
  • 0

Stored Procedure


Lixeira

Pergunta

Bom dia, sou iniciante em forum e em banco de dados MySql e estou com o seguinte problema.

Criei uma procedure para retornar valores que possuam o nome contendo a letra 'A' e que seja '>=' a data inicial e '<=' a data final.

Utilizando uma tab de resultados no Query Browser o select a seguir retorna os valores corretamente.

SELECT DISTINCT cdcli, nmcli, m2ini, m2fin

FROM clientes

WHERE nmcli LIKE CONCAT('%', 'a' , '%') and

(m2ini >= 1) -- and m2fin <= M2FIN

ORDER BY nmcli;

porem, quando efetuo o CALL na procedure como descrito a seguir,

DROP PROCEDURE IF EXISTS `NomeLikePorMetragem` $$

CREATE DEFINER=`root`@`localhost` PROCEDURE `NomeLikePorMetragem`(In sNMCLI varchar(50),IN M2INI int, IN M2FIN int)

BEGIN

SELECT DISTINCT cdcli, nmcli, m2ini, m2fin

FROM clientes

WHERE nmcli LIKE CONCAT('%', sNMCLI , '%') and

(m2ini >= M2INI) -- and m2fin <= M2FIN

ORDER BY nmcli;

END $$

os campos 'm2ini' e 'm2fin' exibem os valores passados nas variáveis 'M2INI' e 'M2FIN', exemplo.

envio sNMCLI = 'A', M2INI = 1 e M2FIN = 350 e o resultado da consulta atribui o valor 1 em todos os registros da coluna M2INI e 350 para todos os registros da coluna M2FIN.

Desde já agradeço a ajuda.

Link para o comentário
Compartilhar em outros sites

1 resposta a esta questão

Posts Recomendados

  • 0

Lixeira, testa desta maneira.

procedure `NomeLikePorMetragem`(in sNMCLI varchar(50)

,in M2INI int

,in M2FIN int)

begin

select distinct(cdcli) -- Coloquei somente este como distinto pois o mesmo imagino que seja diferente dos outros 'Codigo do Cliente'

,nmcli

,m2ini

,m2fin

from clientes

where nmcli like '%sNMCLI%' -- este ira retornar tudo que tiver dados do parametro

and m2ini between M2INI and M2FIN -- busca tudo entre as datas M2INI e M2FIN

order by nmcli;

end;

Se funcionar me informe depois. Vlw

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,4k
×
×
  • Criar Novo...