Utilizando Stored Procedures
e Triggers
Stored Procedures
 Stored Procedures ou Procedimentos
Armazenados, são um conjunto de
declarações SQL armazenadas no
servidor.
2
Stored Procedures
 Procedimentos Armazenados são
utilizados principalmente quando:
◦ Aplicações clientes são escritas em
diferentes linguagens ou trabalham em
diferentes plataformas, mas precisam
executar as mesmas operações de banco de
dados;
◦ A segurança é primordial. Bancos, por
exemplo, utilizam funções e procedimentos
armazenados para todas operações comuns.
Isto provê consistência e segurança, pois
cada operação é devidamente registrada.
3
Stored Procedures
 Rotinas armazenadas podem fornecer
melhor desempenho pois menos
informação precisa ser enviada entre
o cliente e o servidor;
 A desvantagem é que aumenta-se a
carga no servidor de banco de dados;
 Permitem a criação de uma biblioteca
de funções no servidor de banco de
dados. 4
Stored Procedures: Sintaxe
 Sintaxe de criação de um procedure:
CREATE PROCEDURE
nome_procedimento (parâmetros)
BEGIN
declarações_de_rotina_sql;
END
5
Stored Procedures: Sintaxe
 Sintaxe de criação de um procedure:
CREATE PROCEDURE
nome_procedimento (parâmetros)
BEGIN
declarações_de_rotina_sql;
END
Observação: Os parâmetros de um procedimento podem ser de IN
(entrada), OUT (saída), ou INOUT (entrada/saída). O tipo dos
parâmetros podem ser de algum tipo de dado válido, por exemplo, INT,
CHAR, DATE, etc.
6
Stored Procedures: Exemplo
 Exemplo criação de um procedure:
7
Functions: Sintaxe
 Sintaxe de criação de uma function:
CREATE FUNCTION nome_função
(parâmetros) RETURNS
tipo_retorno
BEGIN
declarações_de_rotina_sql;
RETURN retorno_funcao;
END
8
Functions: Sintaxe
 Sintaxe de criação de uma function:
CREATE FUNCTION nome_função
(parâmetros) RETURNS
tipo_retorno
BEGIN
declarações_de_rotina_sql;
RETURN retorno_funcao;
END
Observação: Os parâmetros de uma função podem ser apenas IN
(entrada). A exemplo dos procedimentos, o tipo dos parâmetros podem
ser de algum tipo de dado válido, por exemplo, INT, CHAR, DATE, etc.
9
Functions: Exemplo
 Exemplo criação de uma function:
10
Triggers (Gatilhos)
 Trigger é um objeto do banco de
dados que está associado a uma
tabela, e é ativado quando um evento
particular ocorre na tabela;
 Principais usos são:
◦ Executar verificações de valores; ou
◦ Fazer cálculos sobre os valores
informados em uma atualização.
11
Triggers (Gatilhos)
 O Trigger é ativado quando uma
declaração de INSERT, UPDATE ou
DELETE ocorre na tabela associada;
 O disparo do "gatilho" pode ser
configurado para ocorrer antes ou
depois do evento de disparo.
12
Triggers (Gatilhos)
13
Triggers (Gatilhos): Exemplo
01
 Exemplo de criação de um trigger:
14
Triggers (Gatilhos): Exemplo
01
 Disparo de um trigger:
15
Triggers (Gatilhos): Exemplo
02
 Trigger de verificação de valores:
16
Referências
 Documentação oficial do MySQL:
◦ http://dev.mysql.com/doc/refman/5.5/en/create-view.html
◦ http://dev.mysql.com/doc/refman/5.5/en/create-
procedure.html
◦ http://dev.mysql.com/doc/refman/5.5/en/date-and-time-
functions.html
◦ http://dev.mysql.com/doc/refman/5.5/en/set-statement.html
◦ http://dev.mysql.com/doc/refman/5.5/en/trigger-syntax.html
 Elmasri, Ramez. Sistemas de Banco de Dados. 6ª ed.
São Paulo: Pearson Addison Wesley, 2011.
 Silberschatz, Abraham; Korth, Henry F.; Sudarshan, S.
Sistema de Banco de Dados. São Paulo: Makron
Books, 1999.
17

programaçãoparabancodedadospdfestudos.pptx

  • 1.
  • 2.
    Stored Procedures  StoredProcedures ou Procedimentos Armazenados, são um conjunto de declarações SQL armazenadas no servidor. 2
  • 3.
    Stored Procedures  ProcedimentosArmazenados são utilizados principalmente quando: ◦ Aplicações clientes são escritas em diferentes linguagens ou trabalham em diferentes plataformas, mas precisam executar as mesmas operações de banco de dados; ◦ A segurança é primordial. Bancos, por exemplo, utilizam funções e procedimentos armazenados para todas operações comuns. Isto provê consistência e segurança, pois cada operação é devidamente registrada. 3
  • 4.
    Stored Procedures  Rotinasarmazenadas podem fornecer melhor desempenho pois menos informação precisa ser enviada entre o cliente e o servidor;  A desvantagem é que aumenta-se a carga no servidor de banco de dados;  Permitem a criação de uma biblioteca de funções no servidor de banco de dados. 4
  • 5.
    Stored Procedures: Sintaxe Sintaxe de criação de um procedure: CREATE PROCEDURE nome_procedimento (parâmetros) BEGIN declarações_de_rotina_sql; END 5
  • 6.
    Stored Procedures: Sintaxe Sintaxe de criação de um procedure: CREATE PROCEDURE nome_procedimento (parâmetros) BEGIN declarações_de_rotina_sql; END Observação: Os parâmetros de um procedimento podem ser de IN (entrada), OUT (saída), ou INOUT (entrada/saída). O tipo dos parâmetros podem ser de algum tipo de dado válido, por exemplo, INT, CHAR, DATE, etc. 6
  • 7.
    Stored Procedures: Exemplo Exemplo criação de um procedure: 7
  • 8.
    Functions: Sintaxe  Sintaxede criação de uma function: CREATE FUNCTION nome_função (parâmetros) RETURNS tipo_retorno BEGIN declarações_de_rotina_sql; RETURN retorno_funcao; END 8
  • 9.
    Functions: Sintaxe  Sintaxede criação de uma function: CREATE FUNCTION nome_função (parâmetros) RETURNS tipo_retorno BEGIN declarações_de_rotina_sql; RETURN retorno_funcao; END Observação: Os parâmetros de uma função podem ser apenas IN (entrada). A exemplo dos procedimentos, o tipo dos parâmetros podem ser de algum tipo de dado válido, por exemplo, INT, CHAR, DATE, etc. 9
  • 10.
    Functions: Exemplo  Exemplocriação de uma function: 10
  • 11.
    Triggers (Gatilhos)  Triggeré um objeto do banco de dados que está associado a uma tabela, e é ativado quando um evento particular ocorre na tabela;  Principais usos são: ◦ Executar verificações de valores; ou ◦ Fazer cálculos sobre os valores informados em uma atualização. 11
  • 12.
    Triggers (Gatilhos)  OTrigger é ativado quando uma declaração de INSERT, UPDATE ou DELETE ocorre na tabela associada;  O disparo do "gatilho" pode ser configurado para ocorrer antes ou depois do evento de disparo. 12
  • 13.
  • 14.
    Triggers (Gatilhos): Exemplo 01 Exemplo de criação de um trigger: 14
  • 15.
    Triggers (Gatilhos): Exemplo 01 Disparo de um trigger: 15
  • 16.
    Triggers (Gatilhos): Exemplo 02 Trigger de verificação de valores: 16
  • 17.
    Referências  Documentação oficialdo MySQL: ◦ http://dev.mysql.com/doc/refman/5.5/en/create-view.html ◦ http://dev.mysql.com/doc/refman/5.5/en/create- procedure.html ◦ http://dev.mysql.com/doc/refman/5.5/en/date-and-time- functions.html ◦ http://dev.mysql.com/doc/refman/5.5/en/set-statement.html ◦ http://dev.mysql.com/doc/refman/5.5/en/trigger-syntax.html  Elmasri, Ramez. Sistemas de Banco de Dados. 6ª ed. São Paulo: Pearson Addison Wesley, 2011.  Silberschatz, Abraham; Korth, Henry F.; Sudarshan, S. Sistema de Banco de Dados. São Paulo: Makron Books, 1999. 17