Sie sind auf Seite 1von 14

SQL - Stored Procedure

Edital 027/2013 - Processo Seletivo Simplificado Informtica Candidato: Jlio Csar da Costa Silva

reas de Pesquisa
Cincia da Computao

Fundamentos Matemticos

Tecnologia da Computao

Cincia da Computao Aplicada

Fundamentos da Computao

Organizao dos Sistemas Computacionais

Banco de Dados

Stored Procedure

Fonte: http://pt.wikipedia.org/wiki/Cincia_da_computao

Conceito
Stored Procedure

Os procedimentos armazenados so uma coleo de comandos SQL, compilados e armazenados no Banco de Dados.

Caractersticas

Multi-plataforma, Utiliza padro ANSI/ISO SQL, W3C. Open Source (GPL ou Comercial License), Suporta declaraes de controle condicional, o IF e o CASE e estruturas de repetio (while),

Trabalha com bancos de dados enormes(mais de 60.000* tabelas e 5* milhes de registros),

API's em vrias linguagens ( C, C++, Eiffel, Java, Perl, PHP, Python, Ruby e Tcl).

*Dados aproximados.

Motivao

Por que utilizar Stored Procedure?

Melhoram o trfego na rede, Melhora a performance das aplicaes,


1 Sem Stored Procedure

2 - Usando Stored Procedure.

Fonte img: http://www.linhadecodigo.com.br/artigo/3591/mysql-basico-stored-procedures.aspx

Motivao

Por que utilizar Stored Procedure?

Criam mecanismos de segurana,

Melhoram a manuteno dos cdigos SQL e das aplicaes que acessam o banco de dados.

Sintaxe Stored Procedure


Sintaxe para criao de stored procedures no MySQL
1 DELIMITER $$
//Delimita onde o APP no precisa compilar, pois o servidor que realiza a rotina.

2 CREATE PROCEDURE nome_procedimento (parmetros) 3 BEGIN 4


//Inicio das especificaes dos procedimentos.

/*CORPO DO PROCEDIMENTO*/

//Comandos SQL

5 END $$

//Fim das especificaes dos procedimentos.

6 DELIMITER ;

Criando o Stored Procedures no MySQL


Exemplo Stored Procedure para inserir um dado na Tabela DELIMITER $$
CREATE PROCEDURE `add_aluno`(IN p_nome varchar(50), IN p_matricula varchar(20)) BEGIN INSERT INTO SI_SJE(aluno_nome, aluno_matricula)values(p_nome, p_matricula); END

DELIMITER $$

Chamando o Procedure Criado e Passando os Parmetros

Criando o Stored Procedures no MySQL


Exemplo Stored Procedure para Select na Tabela
DELIMITER $$ CREATE PROCEDURE `show_aluno`()

BEGIN
SELECT * FROM SI_SJE; END DELIMITER $$

Excluindo um Stored Procedure


DROP PROCEDURE Para excluir uma procedure, o procedimento simples: Basta utilizar a clusula DROP PROCEDURE. Similar ao j conhecido DROP TABLE.

Prs e Contras
entre o servidor de aplicao e a base de dados

Cria mecanismos de segurana. Transferncia de parte da responsabilidade de processamento para o servidor. Facilidade na manuteno, reduzindo a quantidade de alteraes na aplicao. Os procedimentos armazenados melhoram o trfego na rede, melhora a performance das aplicaes
Os Stored Procedure reduz o trfego

Necessidade de maior conhecimento da sintaxe do banco de dados para escrita de rotinas em SQL. As rotinas ficam mais facilmente acessveis. Algum que tenha acesso ao banco poder visualizar e alterar o cdigo. Restries no controle mais avanado no uso de processadores e memria, entre outros recursos.

Concluso
Nesta aula vimos como funcionam os Stored Procedures em geral e como trabalhar com essa estrutura. Os testes realizados nessa aula foram executados no Banco de Dados MySQL, usando parmetros de entrada e sada; e invocando-os a partir da instruo CALL.

Bibliografia

G Harrison, S Feuerstein - 2006 - books.google.com MySQl Stored Procedure Programming; Stored Procedure Com PHP E MySQL

Disponvel em http://www.webmaster.pt/stored-procedure-php-mysql-7625.html; Acesso em 11/03/13

B.4. MySQL 5.1 FAQ: Stored Procedures and Functions

Disponvel em http://dev.mysql.com/doc/refman/5.1/en/faqs-stored-procs.html; Acesso em 11/03/13

Manual de Referncia do MySQL 4.1 0. Captulo 11. Stored Procedures e Funes;

Disponvel em http://ftp.nchu.edu.tw/MySQL/doc/refman/4.1/pt/stored-procedures.html; Acesso em 11/03/13

SQL - Structured Query Language

Disponvel em http://www.w3schools.com/sql/; Acesso 11/03/13

Obrigado
Bom Dia!

Das könnte Ihnen auch gefallen