Variável de substituição no MySQL

26/11/2015

0

Boa tarde,

Estou começando minha carreira na área de desenvolvimento e estou com algumas dificuldades com o banco de dados (uso MySQL).

Em uma consulta para emissão de um relatório, gostaria de utilizar uma variável de substituição '&', para que seja solicitado um valor ao usuário quando executar a pesquisa.

 select employee_id, last_name, salary, department_id 
from employees 
where employee_id = &employee_num;


Porém no MySQL, o '&' não é aceito para pedir a variável. Alguém sabe me informar qual seria uma forma de o usuário digitar este valor sem ser diretamente no código?

OBS: utilizo o HeidiSQL para manipular os dados.
Gabriel

Gabriel

Responder

Post mais votado

26/11/2015

Gabriel,

Vi que o Marcos não deve ter conhecimento sobre esse assunto.
Resta nós esperarmos por outro para nos ajudar.


Srs muita calma, o colega "Marcos P" possui muitos conhecimentos e constantemente está ajudando em vários posts aqui no fórum, ocorre que as vezes as dúvidas não estão bem descritas, eu mesmo tenho problema em entender certos posts.

Quanto a dúvida do post, já usei essa parametrização com Firebird na ferramenta IBExpert onde usamos como parâmetro ":parametro", quando executo é aberto uma janela para passar o valor.

Mês passado tivemos uma dúvida parecida como essa, mas era com parametrização no phpMyAdmin.

Infelizmente fiz várias pesquisas na época com phpMyAdmin e MySQL Workbench mas nunca achei nada que pudesse servir como parâmetro.

William

William
Responder

Mais Posts

26/11/2015

Amarildo Junior

Poxa também gostaria de saber como funciona essa função no MySql. Estranho que até no manual da Oracle explica dessa forma.
Responder

26/11/2015

Marcos P

Gabriel,

Não entendi a parte em que você fala : "... para que seja solicitado um valor ao usuário quando executar a pesquisa".

Sua intenção é que o MySql abra um prompt qualquer e você possa digitar o valor da variável conforme sua necessidade. É isso ?

Acho que você está confundido as coisas...

O "&" no mySQL é um operador de comparação bit a bit, que não tem ligação nenhuma com o enunciado do seu post.

Se você deseja trabalhar com variáveis locais no escopo de qualquer objeto programável do mySql ( procedures, triggeres, functions,... ), deve declarar as variáveis necessárias no corpo do objeto. Esse link, descreve como declarar variáveis e utilizá-las.

Em relação ao usuário fornecer valores durante a execução da query, isso não existe em nenhum gerenciador de banco de dados relacional. Valores dinâmicos devem ser repassados externamente ao banco, via aplicação ou outro script sql.
Responder

26/11/2015

Gabriel

Marcos,

Isso mesmo, gostaria que abrisse um prompt para digitar o valor da variável.

Obrigado
Responder

26/11/2015

Marcos P

Isso não existe, nem no mySql, nem em qualquer outro gerenciador de banco de dados...
Responder

26/11/2015

Gabriel

Amarildo (Seus pais são santistas?!)


Engraçado vc dizer isso, por que o exemplo que eu tirei foi justamente de fontes da Oracle, mas não está funcionando


Até mais
Responder

26/11/2015

Amarildo Junior

Marcos,

Entendo sua resposta.
Mas acho, que eu e o Gabriel estamos perguntando seja muito diferente do que você respondeu.

Há um manual da Própria Oracle (Banco de Dados Oracle 10g:
Fundamentos de SQL I), que diz o seguinte:

É possível criar "variáveis de substituição" no iSQL Plus ( Gerenciador de Banco de Dados Relacional ), apenas utilizando um E comercial (&) na frente da variável,
exatamente como nosso amigo Gabriel fez "&employee_num".

No iSQL Plus funciona, ele abre uma caixa de texto pedindo para colocar o valor que deseja nessa variável, assim, dando dinamismo para uma busca simples no próprio banco de dados sem a necessidade de um software externo ao banco.

Em suma, acho que o que queremos, é saber se o MySQL através do HeidSQL, possibilita usar variáveis de substituição, se sim, como usa-la.
Responder

26/11/2015

Gabriel

Isso não existe, nem no mySql, nem em qualquer outro gerenciador de banco de dados...


Existe, se não me engano vi no Oracle SQL Developer.

Obrigado
Responder

26/11/2015

Amarildo Junior

Gabriel,

Vi que o Marcos não deve ter conhecimento sobre esse assunto.
Resta nós esperarmos por outro para nos ajudar.
Responder

26/11/2015

Marcos P

A pergunta original era sobre mySql...


Estou começando minha carreira na área de desenvolvimento e estou com algumas dificuldades com o banco de dados (uso MySQL).


E, portanto, minha resposta foi sobre o mySql.

Se vocês estão tão adiantados assim nas suas pesquisas e testes em Oracle, ótimo !

Tomará que alguém passe por aqui e os ajude...
Responder

26/11/2015

Gabriel

A pergunta original era sobre mySql...


Estou começando minha carreira na área de desenvolvimento e estou com algumas dificuldades com o banco de dados (uso MySQL).


E, portanto, minha resposta foi sobre o mySql.

Se vocês estão tão adiantados assim nas suas pesquisas e testes em Oracle, ótimo !

Tomará que alguém passe por aqui e os ajude...


Marcos,

Sim a pergunta é sobre MySQL. Eu gostaria de saber se alguém pode me ajudar a usar essa ferramenta do Oracle no HeidiSQL.

Obrigado
Responder

08/05/2016

Edivaldo Alcantara

Trabalhei em uma grande empresa e recebi algumas aplicações que tinham essa função, procedures em ORACLE que ao serem chamadas solicitavam a digitação de parâmetros direto na base antes de iniciar a execução da proc que eram atribuídos as variáveis, tambem procuro isso para MYSQL (não sei se é possivel em mysql se existir provavelmente será com uma cunção como a scanner do java) se eu descobrir como faz isso em mysql eu volto aqui para comunicar.
Responder

Assista grátis a nossa aula inaugural

Assitir aula

Saiba por que programar é uma questão de
sobrevivência e como aprender sem riscos

Assistir agora

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar