Nesse artigo será apresentado um conceito basico de Stored Procedures e um exemplo de aplicação de como utilizar a Stored Procedures na liguaguem VB.net e utilizando o Mysql 5.
A partir da versao 5 do mysql pode-se trabalhar com Stored procedures. Stored Procedures(procedimentos armazenados) é um conjunto de instruções SQL que são armazenadas no servidor. O uso de stored procedures deve-se as seguintes necessidades:
- Utilizar para operações repetitivas;
- Aplicacoes clientes de diferentes linguagens (php,delphi, vb, etc);
- Seguranca;
- Maior controle do DBA sobre as rotinas no banco de dados;
- Diminuicao do trafego de informações entre servidor e aplicação cliente.
Sintaxe: create procedure nome_procedure (parametros)
comandos SQL
Exemplo de aplicação: Antes mostrar a aplicação vb.net, é preciso criar a tabela, inserir dados nessa tabela e criar uma stored procedure no banco de dados.
Criando tabela setor:
create table setor (
id_setor int not null primary key auto_increment,
setor varchar(20) not null)
Inserindo alguns valores :
Insert Into setor(setor) values(padaria)
Insert Into setor(setor) values (lanchonete)
A tabela terá os seguintes dados:
1 - padaria
2 - lanchonete
Utilizando a ferramenta Query Browser , cria-se a seguinte procedure que irá listar o setor de acordo com o id_setor informado(variavel auxiliar AUXSET):
create procedure sel_setor(in auxset int)
select * from setor where id_setor= auxset
Para chamar a procedure dentro do query browser basta utilizar a função CALL nome_procedure(parametro)
ex: CALL sel_setor(1) // será retornado os campos id_setor =1 e setor= padaria
Utilizando a procedure criada numa aplicacao VB.net
Entrar no visua studio e criar um novo projeto com um formulario, um botao, duas labels e dois textbox, conforme figura abaixo

No evento click do botão terá o seguinte código:
Private
Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click Dim conexao As MySqlConnection variavel com string de conexao no banco Dim dr As MySqlDataReader data reader Dim cmdsql As MySqlCommand comando mysql Dim parametro As New MySqlParameter parametro da stored procedureconexao =
New MySqlConnection("server=localhost;user id=root;password=1234;database=testes")parametro.ParameterName = "auxset"
nome do parametroparametro.Value = TextBox1.Text
valor do parametro digitado pelo usuariocmdsql =
New MySqlCommand("sel_setor", conexao)cmdsql.CommandType = CommandType.StoredProcedure
tipo de comando = stored procedurecmdsql.Parameters.Add(parametro)
adicionando parametroconexao.Open()
abrindo conexaodr = cmdsql.ExecuteReader
Do While dr.ReadTextBox2.Text = dr("setor")
mostrando resultado no textbox Loopconexao.Close()
fechando conexao End Sub
No codigo acima quando for acionado o botao, vai conectar no banco de dados(obs: os parametros estao de acordo com minha configuração mysql local),criará o comando cmdsql que contem o nome da procedure a ser chamada com o parametro auxset, após executado retorna-rá o resultado para um textbox (textbox2.text).Pronto! agora sua aplicação ja pode usar esse recurso fantastico chamado de stored procedure, que poderá ajudar e muito em diversas situações, até o proximo artigo,
Abraços