Cursos / Informática para Internet / Banco de dados / Aula

arrow_back Aula 15 - Linguagem SQL – Stored Procedures

Criando, executando e apagando procedimentos armazenados - pt.2

Agora que aprendemos a criar procedimentos armazenados, que tal aprendermos a criá-los usando parâmetros? Para exemplificar essa situação, suponha que desejamos saber a quantidade total de produtos comprados por um determinado cliente no nosso banco de dados sistvendas. Para isso, criamos o procedimento descrito no destaque a seguir.

Analisando cuidadosamente os comandos, podemos ver que o procedimento é definido com dois parâmetros, um de entrada denominado de nome_cliente e outro de saída denominado de quantidade_total. Perceba que não é necessário colocar a cláusula IN para definir o parâmetro como sendo de entrada, mas se deve usar a cláusula OUT na definição do parâmetro de saída. Observe também que após o nome dos parâmetros é definido seu tipo, como visto na Aula 9. Outra novidade mostrada na sequência de comandos é a estrutura SELECT ... INTO, cuja função é direcionar o resultado da consulta para uma variável definida após a cláusula INTO. No nosso caso, o resultado do SELECT é atribuído à variável quantidade_total, que é um parâmetro de saída. A Figura 3 ilustra a resposta do SGBD após a criação do procedimento.

Tela do MySQL após os comandos CREATE PROCEDURE, CALL e SELECT.

Também é ilustrada na Figura 3 a execução do procedimento, consultando o total de produtos comprados pela cliente Luciana e armazenando o valor numa variável denominada Total. Ao se passar o nome de uma variável para um procedimento, é adicionado o caractere “@” antes do nome da variável. É interessante observar que durante o processamento interno do procedimento, como ocorre em qualquer linguagem de programação, a variável Total será associada ao parâmetro quantidade_total.

Observe a utilização do comando SELECT para verificar o conteúdo da variável Total.

Para excluir um procedimento armazenado do banco de dados, você deve utilizar o comando DROP, o qual tem sua sintaxe descrita no quadro a seguir. E a resposta do SGBD a esse comando é ilustrada na Figura 4.

Tela do MySQL após o comando DROP PROCEDURE.

Versão 5.3 - Todos os Direitos reservados