Você está na página 1de 48

Base de dados II

Mysql

Pedro Mbote
Sumário

■ Introdução aos Stored Procedures


Introdução

■ como executar várias ações na base de dados a


partir de uma única instrução? A resposta que
trazemos neste artigo para essa pergunta é: Stored
Procedures (ou Procedimentos Armazenados, em
português).
Introdução

■ Stored procedures são rotinas definidas na base de


dados, identificadas por um nome pelo qual podem
ser invocadas. Um procedimento desses pode
executar uma série de instruções, receber
parâmetros e retornar valores.
Quando utilizar?

■ Quando aplicações em diferentes


linguagens, ou plataformas diferentes
executam a mesma função
Por que utilizar?

■ Otimização: redução de tráfego de dados


entre aplicação e o SGBD

■ Segurança: utilizando procedures o acesso às


tabelas do banco de dados acontece de forma
indireta

■ Manutenção: reuso do mesmo código em


diversas aplicações
Desvantagens

■ As rotinas ficam mais facilmente acessíveis

■ Alguém que tenha acesso a base de dados


poderá visualizar e alterar o código
Criar uma Stored procedures
Exemplo de Stored procedure
Exemplo de Stored procedure
Exemplo de Stored procedure
Chamar um Stored procedure
Mostrar procedures

■ show procedure status


where db= 'databasename‘;
Remover procedures
Alterar procedures

■ O Mysql não permite alter um


procedimento armazenado mais sim
recriar
■ drop procedure if existis nome_proc;
delimiter //
create procedure nome_proc()
begin
end //
Visualizar um procedure

■ Para ver os campos/colunas de uma tabela


usamos o comando desc nome_tabela;

■ Para ver a implementação de um


procedimento usamos o comando show
create procedure nome_procedimento;
Dúvidas
Stored procedures - parâmetros

■ O “nome” dos parâmetros também segue as


mesmas regras de definição de variáveis.

■ O “TIPO” nada mais é que do tipo de dado


do parâmetro (int, varchar, decimal, etc).
Stored procedures - parâmetros

■ O “MODO” indica a forma como o parâmetro


será tratado no procedimento, se será
apenas um dado de entrada, apenas de saída
ou se terá ambas as funções.
Stored procedures - parâmetros

■ Os valores possíveis para o modo são:

■ IN: indica que o parâmetro é apenas para


entrada/recebimento de dados, não podendo ser
usado para retorno;
Stored procedures - parâmetros

■ Os valores possíveis para o modo são:

■ OUT: usado para parâmetros de saída. Para esse tipo


não pode ser informado um valor direto (como
‘teste’, 1 ou 2.3), deve ser passada uma variável “por
referência”;
Stored procedures - parâmetros

■ Os valores possíveis para o modo são:

■ INOUT: como é possível imaginar, este tipo de


parâmetro pode ser usado para os dois fins (entrada
e saída de dados). Nesse caso também deve ser
informada uma variável e não um valor direto
Exemplo de Stored procedure
Exemplo de Stored procedure
Exemplo de Stored procedure
Exemplos
Exemplos

■ Procedimento para trazer os preços dos livros de


uma determinada editora, por nome da editora
Exemplos com diversos parâmetros
Dúvidas
Variáveis

■ É possível declarar variáveis no corpo dos


stored procedures, para isso basta utilizar a
seguinte sintaxe:
Variáveis
Variáveis

■ Para atribuir valor a variável usamos a


palavra set:

■ declare nome varchar(20);


set nome ='Ana';
Exemplo de Stored procedure
Estrutura de controlo(IF)
Estrutura de controlo(IF)
Estrutura de controlo(IF)
Estrutura de controlo(IF)
Estrutura de seleção(switch)
Estrutura de repetição(while)
Estrutura de repetição(while)
Estrutura de repetição(repeat)
Estrutura de repetição(repeat)
Estrutura de repetição(loop)
Estrutura de repetição(loop)
Dúvidas
Próxima aula

❑ Funções armazenadas
Atenção
Referências

❑ HEUSER, C. A , Projecto de Base de dados, Porto Alegre: Sagra


Luzzato, 2001.
❑ Silberschatz, Abraham, Sistemas de Base de Dados. 5ª ed,
Campus, 2006
❑ OPELL, Andy e SHELDON Robert SQL: um guia para iniciantes.
3 ed, Rio de Janeiro: Ciência Moderna, 2009.
❑ COSTA, Rogério Luis de Carvalho. SQL: guia prático. Rio de
Janeiro: Brasport, 2004.
❑ DATE, C. J. “Sistemas de Base de dados”. 7a ed. Rio de
Janeiro, ed. Campus, 2000.
❑ KORTH, H. F. “Sistemas de Base de dados” 2 ed. São Paulo:
Makron Books,1999.
❑ ELMASRI, Ramez E.; NAVATHE, Shamkant. Sistemas de base
de dados. 4.ed. São Paulo: Pearson; Prentice Hall, 2005

Você também pode gostar