Como usar variáveis sql
Apesar de ser capaz de manipular literais e outros tipos de constantes ao lidar com um banco de dados SQL dá-lhe grande poder, tendo variáveis é útil também. Em muitos casos, você precisa fazer muito mais trabalho se você não tem variáveis. UMA variável,
Conteúdo
Suponha que você é um varejista que tem várias classes de clientes. Você dá a seus clientes de alto volume o melhor preço, seus clientes de volume médio a próxima melhor preço, e os seus clientes de baixo volume o preço mais alto. Você deseja indexar todos os preços para o custo das mercadorias.
Para que seu produto F-35, você decide cobrar de seus clientes de alto volume (Classe C) 1,4 vezes o custo das mercadorias. Você cobra seus clientes de volume médio (Classe B) de 1,5 vezes o custo das mercadorias, e você cobrar de seus clientes de baixo volume (Classe A) 1,6 vezes o custo das mercadorias.
Você armazenar o custo dos produtos e os preços que cobram em uma tabela chamada de preços. Para implementar a nova estrutura de preços, você emitir os seguintes comandos SQL:
ATUALIZAÇÃO PRICINGSET preço = custo * 1.4WHERE produto = `F-35`AND Class = `C` -Update PRICINGSET preço = custo * 1.5WHERE produto =` F-35`AND Class = `B` -Update PRICINGSET preço = custo * 1.6WHERE produto = `F-35`AND class = `A` -
Este código é bom e atende às suas necessidades - por agora. Mas se a concorrência agressiva começa a comer em sua participação de mercado, você pode precisar reduzir suas margens para se manter competitiva. Para alterar as suas margens, é necessário digitar o código algo como isto:
Video: Bloco anônimo e variáveis em ORACLE
ATUALIZAÇÃO PRICINGSET preço = custo * 1.25WHERE produto = `F-35`AND Class = `C` -Update PRICINGSET preço = custo * 1.35WHERE produto =` F-35`AND Class = `B` -Update PRICINGSET preço = custo * 1.45WHERE produto = `F-35`AND class = `A` -
Se você estiver em um mercado volátil, você pode precisar reescrever seu código SQL repetidamente. Esta tarefa pode se tornar tedioso, especialmente se os preços aparecem em vários lugares em seu código. Você pode minimizar o seu trabalho, substituindo os literais (como 1,45) Com variáveis (tais como : multiplierA). Então você pode executar suas atualizações como segue:
Video: MySQL - Variáveis Locais e Escopo - Comando DECLARE - 37
ATUALIZAÇÃO PRICINGSET Preço = Custo *: multiplierCWHERE produto = `F-35`AND Class = `C` -Update PRICINGSET Preço = Custo *: multiplierBWHERE produto =` F-35`AND Class = `B` -Update PRICINGSET preço = custo * : multiplierAWHERE produto = `F-35`AND Class = `A` -
Agora, sempre que as condições de mercado forçá-lo a mudar o seu preço, você precisa mudar apenas os valores das variáveis : multiplierC, : multiplierB, e : multiplierA. Essas variáveis são parâmetros que passam para o código SQL, que, em seguida, utiliza as variáveis para calcular novos preços.
Às vezes, as variáveis usadas desta forma são chamados parâmetros ou hospedar variáveis. Variáveis são chamadas parâmetros se eles aparecem em aplicações escritas em linguagem módulo de SQL. Eles são chamados variáveis de host quando eles são usados em SQL embutido.
SQL embutido significa que instruções SQL são embutidas no código de um aplicativo escrito em uma linguagem host. Alternativamente, você pode usar SQL linguagem de módulo para criar um módulo inteiro de código SQL. A aplicação de linguagem de host, em seguida, chama o módulo. Qualquer método pode dar-lhe os recursos que você deseja. A abordagem que você usa depende de sua implementação SQL.