+4

Stored Procedures usando MySQL e PHP

criado por Fabricio Vieira em 02/12/2006 4:00pm
Bom, primeiramente iremos criar uma tabela no MySQL com uma estrutura bem simples:

CREATE TABLE Filmes (
    IdFilme INTEGER AUTO_INCREMENT,
    NomeDoFilme   VARCHAR(50),
    PRIMARY KEY (IdFilme);
) TYPE = INNODB;



Crie na tabela alguns registros. Neste caso criei uma tabela sobre filmes, sendo assim a minha ficou da seguinte maneira:



Até o momento não fizemos nada de diferente, apenas criamos uma tabela e inserimos alguns registros. Chegou a hora de criarmos nossa Stored Procedure no banco.



Delimiter $$ = Essa linha significa que os ‘$$’ irão delimitar o trecho de código
Create Procedure = Cria a procedure
Begin e End = é onde ficará o corpo da procedure

As procedures aceitam argumentos, em nosso caso temos a variável “quantidade”, que será passada a procedure e ao término do código as alterações feitas em “quantidade”, ficará gravada na variável que você passou para a procedure, como se fosse uma passagem de parâmetro por referência, “OUT” é um parâmetro de saída e “INT” o tipo de dado.

A próxima procedure irá buscar um filme através de seu código, repare que ela recebe dois parâmetros, um onde ficará gravado o nome do filme e outro é um parâmetro somente de entrada “IN”, que será o código do filme.



Vamos agora ao PHP:

É importante destacar, que para usar as funcionalidades de Stored Procedures do MySql , você deverá incluir a seguinte linha no php.ini : “extension=php_mysqli.dll”, assim você habilitará essa DLL.



Resultado final produzido pelo browser:



Claro que o loop existente no código não seria a melhor solução, pois faz muitos acessos a base de dados, mais a idéia foi mostrar somente como o PHP lida com procedures. Nos próximos artigos falarei sobre Functions e afins por enquanto é isso.

Obs: Quaisquer correções, críticas e afins serão bem-vindas.

Comentários:

Mostrando 1 - 3 de 3 comentários
Sobre o que vc disse: "Claro que o loop existente no código não seria a melhor solução", talvez um cursor e uma tabela temporária na propria SP resolva melhor, trazendo mais desempenho.
No mais, é isso aí... muito bom!
17/06/2010 4:38pm (~6 anos atrás)

Dam disse:
Muito bom. Esta precisando de umas dicas iniciais acerca deste assunto.
09/09/2009 8:27pm (~7 anos atrás)

André Taiar disse:
Obrigado!
Queria ha tempos uma introdução simples sobre procedures e como iniciar nelas e isso me pareceu um gancho bacana para pesquizar mais!
11/08/2009 11:18am (~7 anos atrás)

Novo Comentário:

(Você pode usar tags como <b>, <i> ou <code>. URLs serão convertidas para links automaticamente.)