Juliana Alvares
●   É um conjunto de comandos SQL que    pode ser armazenados no servidor.
Vantagens●   Os comandos não precisam ser reenviados, basta    apenas fazer referência a ele.●   Pode-se criar uma bibliot...
SINTAXECREATE PROCEDURE proc_name([parameters, ...])[characteristics][BEGIN]      corpo_da_rotina;[END]
SINTAXE proc_name: seu procedimento armazenado deve ter um nome, para quando for chamado, podermos então usá-lo;
SINTAXE    Existem 3 tipos de parâmetros em uma Stored Procedure:●   IN => este é um parâmetro de entrada, ou seja, um par...
SINTAXE parameters: nessa parte do procedimento, informaremos os parâmetros da seguinte forma: [IN | OUT | INOUT] nome_par...
SINTAXEcharacteristics: as características do procedimento podeapresentar. Como não utilizaremos inicialmente taiscaracter...
SINTAXEcorpo_da_rotina: onde são definidos os comandos SQL quefarão alguma manipulação e/ou defenderão alguma lógica,poden...
EXEMPLODELIMITER $$CREATE PROCEDURE empresa.TOTAL_DEPTO ()BEGIN SELECT COUNT(*) TOTAL FROM empresa.departamento;END $$DELI...
EXEMPLO (Variáveis)DELIMITER $$CREATE PROCEDURE empresa.OLA ()BEGIN  DECLARE Mensagem VARCHAR(11);  SET Mensagem = ‘Alo, M...
EXEMPLO (Parâmetros)DELIMITER $$CREATE PROCEDURE empresa.OLA (IN NOME VARCHAR(40))BEGIN SELECT CONCAT(OLÁ ,NOME,  HORA CER...
EXEMPLO (IN,OUT)DELIMITER $$CREATE PROCEDURE SOMA(IN A INTEGER, IN B INTEGER, OUT S)BEGIN  SET S = A+B;END $$DELIMITER ;CA...
EXEMPLO (IF)DELIMITER $$CREATE PROCEDURE COMPARA(IN A INTEGER, IN B INTEGER)BEGIN  DECLARE RESP VARCHAR(20);  IF (A > B) T...
Próximos SlideShares
Carregando em…5
×

Stored procedure

685 visualizações

Publicada em

Publicada em: Educação
  • Seja o primeiro a comentar

  • Seja a primeira pessoa a gostar disto

Stored procedure

  1. 1. Juliana Alvares
  2. 2. ● É um conjunto de comandos SQL que pode ser armazenados no servidor.
  3. 3. Vantagens● Os comandos não precisam ser reenviados, basta apenas fazer referência a ele.● Pode-se criar uma biblioteca de funções no Servidor.● Várias aplicações escritas em diferentes linguagens que realizam uma mesma tarefa.● Permite a padronização da entrada de dados
  4. 4. SINTAXECREATE PROCEDURE proc_name([parameters, ...])[characteristics][BEGIN]      corpo_da_rotina;[END]
  5. 5. SINTAXE proc_name: seu procedimento armazenado deve ter um nome, para quando for chamado, podermos então usá-lo;
  6. 6. SINTAXE Existem 3 tipos de parâmetros em uma Stored Procedure:● IN => este é um parâmetro de entrada, ou seja, um parâmetro cujo seu valor será utilizado no interior do procedimento para produzir algum resultado;● OUT => este parâmetro retorna algo de dentro do procedimento para o lado externo, colocando os valores manipulados disponíveis na memória ou no conjunto de resultados;● INOUT => faz os dois trabalhos ao mesmo tempo!
  7. 7. SINTAXE parameters: nessa parte do procedimento, informaremos os parâmetros da seguinte forma: [IN | OUT | INOUT] nome_parametro tipo_dado.
  8. 8. SINTAXEcharacteristics: as características do procedimento podeapresentar. Como não utilizaremos inicialmente taiscaracterísticas, vamos nos ater a sintaxe principal. Questõesde segurança, se é determinística ou não, qual a linguagemque estamos utilizando e se nosso procedimento modificarádados na banco de dados, são algumas das característicasque poderemos definir neste item, as quais não serãoabordadas nessas aula.
  9. 9. SINTAXEcorpo_da_rotina: onde são definidos os comandos SQL quefarão alguma manipulação e/ou defenderão alguma lógica,podendo retornar ou não algum resultado.
  10. 10. EXEMPLODELIMITER $$CREATE PROCEDURE empresa.TOTAL_DEPTO ()BEGIN SELECT COUNT(*) TOTAL FROM empresa.departamento;END $$DELIMITER ;
  11. 11. EXEMPLO (Variáveis)DELIMITER $$CREATE PROCEDURE empresa.OLA ()BEGIN DECLARE Mensagem VARCHAR(11); SET Mensagem = ‘Alo, Mundo’; SELECT Mensagem;END $$DELIMITER ;
  12. 12. EXEMPLO (Parâmetros)DELIMITER $$CREATE PROCEDURE empresa.OLA (IN NOME VARCHAR(40))BEGIN SELECT CONCAT(OLÁ ,NOME, HORA CERTA: ,NOW()) OI;END $$DELIMITER ;
  13. 13. EXEMPLO (IN,OUT)DELIMITER $$CREATE PROCEDURE SOMA(IN A INTEGER, IN B INTEGER, OUT S)BEGIN SET S = A+B;END $$DELIMITER ;CALL SOMA(5,3,@saida);SELECT @saida;
  14. 14. EXEMPLO (IF)DELIMITER $$CREATE PROCEDURE COMPARA(IN A INTEGER, IN B INTEGER)BEGIN DECLARE RESP VARCHAR(20); IF (A > B) THEN SET RESP =‘A MAIOR QUE B’; ELSE SET RESP =‘A MENOR QUE B’; END IF SELECT RESP;END $$DELIMITER ;

×