domingo, 16 de setembro de 2012

Prepared statements em Stored Procedures - Mysql

Hoje vou mostrar como é simples usar Prepared statements em Stored procedures.
Prepared Statements são instruções pré compiladas, que possibilita executar uma instrução mais de uma vez de modo eficiente, pois a instrução é analisada apenas uma vez.  Assim como só vai haver dinamismo no envio dos dados por parâmetros, o tráfego da rede é reduzido! detalhes aqui!

Sintaxe SQL para instruções preparadas é baseada em três instruções :

PREPARE prepara um comando para execução.
EXECUTE executa uma declaração preparada.
DEALLOCATE PREPARE libera uma declaração preparada.


Agora, como já dizia o Coronel Jesuíno: "mysql abra ai que vou lhe usar!" 


DELIMITER ;;
    CREATE PROCEDURE sp_Posts(IN idPost TEXT)
BEGIN


SET @queryDelete = CONCAT('DELETE FROM posts WHERE posts.id IN (', idPost,')');
PREPARE pstm FROM @queryDelete;
EXECUTE pstm ;
DEALLOCATE PREPARE pstm ;
END
;;
 
e para executar: 

CALL sp_Posts('5,8,9,32,45,100,165,200');
 

Nenhum comentário:

Postar um comentário