Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Pessoal estou me preparando para desenvolver um sistema para empresa no qual eu trabalho. Decidir usar PHP pois o sistema funcionará de qualquer aparelho com acesso a internet (um dos requisitos do sistema) e estou usando o php pois tenho mais intimidade com esta linguagem que com java ou outra qualquer.
Como banco de dados vou usar o MySQL, foi uma decisão difícil pois poderia usar o PostgreSQL, mas optei pelo MySQL por conhece-lo melhor. E visando aperfeiçoar meu conhecimento nele fiz um treinamento e vi o quanto ela evoluiu e que não conhecia nem metade do que ela pode oferecer.
So que surgiu uma dúvida. depois que compreendi o uso de Procedures COMMITs e ROLLBACKs e trabalhar com transações, fiquei em dúvida qual é a melhoior maneira usar ao máximo as opções de transações no BD ou fazer tudo diretamente no PHP.
Um exemplo simples do curso, mas que me fez pensar foi o de uma transferencia entre duas contas, se fosse fazer no php eu tiraria de uma dando update nesta primera e colocaria em outra com outro update, mas vi que com transações do db você pode fazer usando apenas uma linha no php e ainda manter o controle e integridade do banco com COMMITs e ROLLBACKs
Aí pintou a dúvida sobre em qual nível eu controlo isso no próprio db ou no PHP
DELIMITER &&
CREATE PROCEDURE alteracao_saldo2 (c_origem char(10), c_destino char(10), v_val decimal(10,2))
BEGIN
IF ((c_origem != '') AND (c_destino != '') AND (v_val > 0)) THEN
UPDATE saldo SET saldo = saldo - v_val WHERE conta = c_origem;
UPDATE saldo SET saldo = saldo + v_val WHERE conta = c_destino;
COMMIT;
ELSE
SELECT "Todos os parâmentros devem ser informados!" AS "Mensagem";
ROLLBACK;
END IF;DELIMITER ;
Carregando comentários...