Variável de substituição no MySQL
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.
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.
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
Curtidas 3
Melhor post
William
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.
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.
GOSTEI 1
Mais Respostas
Amarildo Junior
26/11/2015
Poxa também gostaria de saber como funciona essa função no MySql. Estranho que até no manual da Oracle explica dessa forma.
GOSTEI 0
Marcos P
26/11/2015
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.
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.
GOSTEI 1
Gabriel
26/11/2015
Marcos,
Isso mesmo, gostaria que abrisse um prompt para digitar o valor da variável.
Obrigado
Isso mesmo, gostaria que abrisse um prompt para digitar o valor da variável.
Obrigado
GOSTEI 0
Marcos P
26/11/2015
Isso não existe, nem no mySql, nem em qualquer outro gerenciador de banco de dados...
GOSTEI 1
Gabriel
26/11/2015
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
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
GOSTEI 0
Amarildo Junior
26/11/2015
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.
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.
GOSTEI 0
Gabriel
26/11/2015
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
GOSTEI 0
Amarildo Junior
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.
Vi que o Marcos não deve ter conhecimento sobre esse assunto.
Resta nós esperarmos por outro para nos ajudar.
GOSTEI 0
Marcos P
26/11/2015
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...
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...
GOSTEI 1
Gabriel
26/11/2015
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...
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
GOSTEI 1
Edivaldo Alcantara
26/11/2015
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.
GOSTEI 0