Procedimentos armazenados MYSQL - Criação, consultas e inserções de dados

Índice
Um procedimento armazenado (Store Procedure) é um pequeno algoritmo em linguagem SQL que é armazenado junto com o banco de dados e permite que tarefas sejam realizadas nesses dados.
As vantagens dos procedimentos armazenados são:
- Podem acessar de diferentes programas externos, se houver necessidade de tornar pública a estrutura do banco de dados.
- Podem reuso portanto, vamos economizar tempo por já estarmos programados e testados.
Use procedimentos armazenados mysql, com phpmyadmin
Começaremos o trabalho de criação e consulta de procedimentos armazenados com a ferramenta phpmyadmin, mas qualquer um que suporte consultas SQL a partir do MYSQL 5.0 pode ser usado
Neste caso, levaremos o banco de dados de uma agência de automóveis ou veículos.
1) Entramos no phpmyadmin e de lá para o banco de dados
Existem 2 tipos de motores que manipulam dados no Mysql
  • MyISAM: mecanismo padrão, muito rápido para consultas, não fornece integridade de dados ou proteção referencial. Sistemas ideais com muitas consultas
  • InnoDB: fornece proteção referencial e integridade de dados, bem como bloqueio de registros, ideal se uma grande quantidade de informações é constantemente inserida, editada ou excluída. Geralmente, para procedimentos armazenados, é melhor usar InnoDB.

Imagem enviada

Na guia SQL, criamos nosso primeiro procedimento armazenado para consultar os tipos de veículos. Escreva-nos no campo de texto do sql.
CRIAR PROCEDIMENTO consult_vehicle_type () ---> nome do procedimento
SELECT * FROM Vehicle_type ---> SQL para resolver
Se executarmos a consulta SQL, receberemos uma mensagem de sucesso quando o procedimento for criado.
Para ver os procedimentos criados a partir da aba SQL, consultamos o comando SHOW PROCEDURE STATUS, que não mostrará todos os procedimentos armazenados.
Agora vamos mostrar como executar o procedimento armazenado com o comando CALL procedure_name (Cada linguagem de programação tem sua própria biblioteca para acessar um procedimento armazenado, mas todas são semelhantes.

Imagem enviada

Aqui podemos ver o resultado da execução do procedimento armazenado CALL pa_vehiculo_type, ele retornou o resultado e ninguém vê quais comandos foram executados.

Imagem enviada

No exemplo a seguir, listaremos os veículos, mas por marca, o procedimento seria:
CRIAR PROCEDIMENTO pa_vehiculos_por_brand (marcar varchar (50))
SELECIONE DE
veículos, marcas
ONDE Vehiculos.brand = marks.id
AND marcas.brand = marca
Ao nome do procedimento adicionamos uma variável para poder pesquisar um exemplo de veículos da marca Honda
Para executar o exemplo, chamamos o procedimento armazenado em uma guia SQL
CALL pa_vehiculos_por_marca (“Honda”)
CALL pa_vehiculos_por_marca (“Ford”)
Você também pode usar os procedimentos armazenados para inserir tarefas, por exemplo, um procedimento para registrar dados de um cliente
CRIAR PROCEDIMENTO pa_cliente_insertar (
vname VARCHAR (64),
sobrenome VARCHAR (64)
)
INSERT INTO cliente (nome, sobrenome) VALORES (vnome, sobrenome);
Para usá-lo, nós o chamamos da seguinte forma
CALL pa_cliente_insertar ('José', 'Gonzales');
Outro poderia ser Verificar o número de províncias
CRIAR PROCEDIMENTO `pa_provincias_cantidad` ()
SELECIONE COUNT (*) como províncias DE províncias
Para eliminar qualquer procedimento é usado PROCEDIMENTO DE QUEDA nome_do_procedimento
Chamadas para procedimentos de diferentes idiomas.
Em PHP, assumindo que os dados vêm de um formulário
$ mysqli = new mysqli ("localhost", "root", "root");
$ mysqli-> select_db ("auto_agency");

$ mysqli-> query ("CALL pa_client_insert ('$ primeiro nome', '$ sobrenome')");
Agora executamos o procedimento armazenado em Java (o código foi encurtado)
conn = MySQL Connection.connect ("127,0,0,1", "root", "*******", "root");
CallableStatement Procedure = conn.prepareCall ("{CALL pa_customer_insert ('$ primeiro nome', '$ sobrenome'))}");
Procedure.setString ("vname", $ name);
Procedure.setString ("sobrenome", $ sobrenome);
Procedure.execute ();
connM.commit ();
Desta forma, mostra-se que os mesmos procedimentos têm sido utilizados em diferentes ambientes e linguagens, de forma transparente para o usuário. O tópico de procedimentos é extenso mas qualquer pessoa com conhecimento de SQL poderá investigar e obter grandes conquistas com a utilização de stored procedures, podendo assim otimizar seus projetos em tempo e segurança de dados.Gostou e ajudou este tutorial?Você pode recompensar o autor pressionando este botão para dar a ele um ponto positivo
wave wave wave wave wave