Jump to content
  • 0
MANOEL ÉRIK P. DA SILVA

Procedure para achar um nome em vários registros

Question

Gostaria de saber onde está o erro desta procedure, pois ela coloca todos os campos do registros: PROCEDURE `Consultar---ome`(Nome varchar(70))
begin
    select   *   from TABELA    where   Nome LIKE concat  ('%', Nome,'%');   
end

Obrigado pela ajuda.

Manoel Érik

Share this post


Link to post
Share on other sites

5 answers to this question

Recommended Posts

  • 0

Não seria 'consultar_nome'?

 

Outro detalhe, o like não precisa de concat, pode ser somente assim like('%nome%')

 

CREATE PROCEDURE `consultar_nome`(
    IN `_nome` VARCHAR(70)
)
LANGUAGE SQL
NOT DETERMINISTIC
CONTAINS SQL
SQL SECURITY DEFINER
COMMENT ''
BEGIN
SELECT * FROM tabela WHERE  nome LIKE('%_nome%') ;
END

Share this post


Link to post
Share on other sites
  • 0
7 horas atrás, lucascastilho disse:

Não seria 'consultar_nome'?

 

Outro detalhe, o like não precisa de concat, pode ser somente assim like('%nome%')

 

CREATE PROCEDURE `consultar_nome`(
    IN `_nome` VARCHAR(70)
)
LANGUAGE SQL
NOT DETERMINISTIC
CONTAINS SQL
SQL SECURITY DEFINER
COMMENT ''
BEGIN
SELECT * FROM tabela WHERE  nome LIKE('%_nome%') ;
END

 

Caro Lucas,

Agradeço a resposta, mas não deu certo.

Manoel Érik

Share this post


Link to post
Share on other sites
  • 0
23 minutos atrás, MANOEL ÉRIK P. DA SILVA disse:

 

Caro Lucas,

Agradeço a resposta, mas não deu certo.

Manoel Érik

 

Exceções são muito bem vindas. Mostre-nos alguma mensagem de erro.

Share this post


Link to post
Share on other sites
  • 0

Caro Josimar,

Nesse caso não há mensagem de erro. Se você estiver no SqlServer e usar ( '%' + Nome + '%) funcionará perfeitamente. No MySql o "+" dá erro, isto é, o DataGridView, onde mostrará a consulta,  fica sem linhas, como se não achasse nada.  Com esse código (like concat ('%', Nome, '%') ele mostra todos os registros,como se o código  fosse só '%'. Já mudei de várias maneiras, mas nenhuma deu certo. Coloquei, por exemplo, @Nome, mas ele diz estar faltar um "operand".

Muito obrigado pelo interesse.

Manoel Érik

PS: A informática é para mim um hobby desde que ela apareceu. Meu problema é por causa de trabalho (embora agora esteja aposentado, mas morando no interior de MS, nunca pude ter quem me tirasse as dúvidas.

  • +1 1

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

  • Similar Content

    • By drx
      Olá Pessoal!
       
      Eu estou tentando instalar o sgbd navicat para acessar meu banco de dados, porém sem sucesso. 
      Pergunta: Para usar o sgbd navicat é necessário instalar o mysqlserver  ou o navicat já traz no pacote dele ao instalar?
      Aguardo.
       
    • By renzogr
      Olá Masters
       
      Estou precisando incluir uma string num campo de uma tabela mysql.
      É o seguinte:
      Tenho um campo contendo instruções de uma receita culinária e preciso colocar a string "-- " (sem aspas) no início de cada linha do campo das instruções.
      Já tentei o 
      UPDATE tabela SET variavel = concat("-- ", variavel); mas ele só altera a primeira linha...  Preciso encontrar as demais linhas dentro do campo e colocar a string na frente.
       
      Alguém tem uma ideia de como fazer ?
       
    • By mayko@123
      TENHO O SEGUINTE SELECT :   select loja,NOME,PREÇO from produtos  GROUP BY NOME,LOJA order by NOME,PREÇO ASC ;
      E O RETORNO É : 
       
      LOJA             NOME                            PREÇO
      A banana prata 1,98 C                  banana prata 1,99 B          COCO VERDE 1 123   COCO VERDE 1 C  COCO VERDE 1 C   laranja pera rio 0,49 A       laranja pera rio 1,99 123 laranja pera rio 1211 B LARANJA SERRA DAGUA 1,99 C LARANJA SERRA DAGUA 2,99 B maca fuji 2,50 C maca fuji 2,97 A maca fuji 2,99 B MAMAO 1,97 C MAMAO 2,10 123 PESSEGO 12 C PESSEGO 2,30 A PESSEGO 234 C UVA 1212 123 UVA 212 A UVA 3,25  
      QUERIA QUE ME RETORNASSE APENAS O PRIMEIRO PRODUTO,PREÇO DE CADA LOJA POR EXEMPLO : A LOJA 'A'  VENDEU A BANANA MAIS BARATA, A LOJA 'B' VENDEU O COCO VERDE MAIS BARATO A LOJA 'C' A LARANJA..... e assim por diante , senão o retorno vai ficar muito extenso pois vai ser muitas lojas e produtos.
    • By lordstarlight
      Olá pessoal,
       
      Tenho uma base de dados onde há um campo decimal que guarda um valor tipo (10.20).
      Quanto tento retornar o valor multiplicado por quantidade (10.2 * 2) retorna apenas 20,00
       
      $subTotal = $qtdeItem * $precoProduto;
      echo  'R$ '.number_format($subTotal,2,",",".");?><br>
       
      Como faço para retornar 20,40 ?
    • By alexandre.koupaka
      Salve galera,
      Estou com a tarefa de criar uma infra de alta disponibilidade de MariaDB,
      Para os servidores de MariaDB pretendo utilizar Galera, alguém tem uma sugestão melhor?
      Outra duvida seria nos pros e contras de usar MariaDB em Multi-master e Master-Slave?
      Para o proxy e Balanceador de carga tenho duvida entre HaProxy que trabalha na camada OSI de transporte, Proxy e MaxScale, ambos trabalham na camada de aplicação,
      na quesito velocidade acredito que o HaProxy seja mais rápido, porém não tem muitas funcionalidade como o outros dois, quais vcs me aconselham?
       
×

Important Information

Ao usar o fórum, você concorda com nossos Terms of Use.