Você está na página 1de 2

Criando Storeds Procedures no MySql A maioria das pessoas no utiliza todos os recursos disponveis para os , tais como Stored

Procedures e Triggers. Primeiramente vamos a algumas questes. O que uma Stored Procedure? uma colao de comandos SQL, que encapsula uma srie de tarefas repetitivas, relativas ao acesso a banco, aceita parmetros de entrada e retorna um valor de status ou conjunto de registros. Por que usar um Stored Procedure? As Stored Procedures ajudam a reduzir o trfego na rede, a melhorar o desempenho de consultas, a criar mecanismos de segurana e simplificar o cdigo da aplicao, j que no haver a necessidade de manter consultas SQL de vrias linhas misturadas a toda lgica da sua aplicao. Ento vamos ao banco exemplo: um banco bem simples, mas s para vermos na prtica o funcionamento das procedures. Vamos primeira, listar pases: DELIMITER $$ DROP PROCEDURE IF EXISTS `listar_paises` $$ CREATE PROCEDURE `listar_paises`(IN _id INT) BEGIN IF(_id IS NULL) THEN SELECT * FROM pais; ELSE SELECT * FROM pais WHERE id_pais = _id; END IF; END $$ DELIMITER ; Vamos explicao: DELIMITER $$ Serve para marcar onde comea e onde termina a procedure, neste caso eu escolhi $$. DROP PROCEDURE IF EXISTS `listar_paises` Nesta linha eu informo ao SGBD que se a procedure j existir eu a estarei sobrescrevendo. CREATE PROCEDURE Ir cria a procedure, note que h um parmetros para esta procedures. Os parmetros podem ser IN, apenas de entrada, OUT, apenas de sada e INOUT, entrada e sada. Os tipos de dados dos parmetros so os mesmo tipos de dados do SGBDs ( INT, VARCHAR(45), TEXT, BLOB)

Entre os comandos BEGIN e END que sero colocados os comandos executados pela procedures. Primeiramente eu verifico se foi passado o parmetro id para a procedure. IF(_id IS NULL) THEN Caso tenha sido passado eu busco um pas com aquele id, em caso contrrio sero retornados todos os registros da tabela. Chamando a procedure: call listar_paises( NULL ); Ir trazer todos os registros da tabela call listar_paises( 1 ); Ir trazer somente o registro do pas com o ID = 1; Procedures so to simples quanto parecem. Na prxima matria eu explicarei como incluir, atualizar e apagar registro do banco usado procedures.

Você também pode gostar