Skip to content

Commit fb182bd

Browse files
authored
🫙 Funções Armazenadas
1 parent 338caa0 commit fb182bd

1 file changed

Lines changed: 62 additions & 0 deletions

File tree

Lines changed: 62 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,62 @@
1+
# Stored Functions em MySQL
2+
3+
## Introdução às Stored Functions
4+
5+
Uma Stored Function (Função Armazenada) é um bloco de código SQL que pode receber parâmetros, executar operações e retornar um valor. Ela é armazenada no banco de dados e pode ser chamada em consultas SQL como uma função regular. Isso permite encapsular lógica de negócios em operações reutilizáveis.
6+
7+
## Vantagens das Stored Functions
8+
9+
- **Reusabilidade:** Você pode usar a mesma lógica em várias consultas sem repetição.
10+
- **Segurança:** Ajuda a restringir o acesso direto às tabelas, pois as funções atuam como uma camada intermediária.
11+
- **Organização:** Mantém a lógica de negócios centralizada e gerenciável no banco de dados.
12+
- **Desempenho:** As funções podem ser otimizadas pelo sistema de gerenciamento de banco de dados.
13+
14+
## Criando uma Stored Function
15+
16+
A sintaxe geral para criar uma Stored Function é a seguinte:
17+
18+
```sql
19+
CREATE FUNCTION nome_da_funcao ([parâmetros])
20+
RETURNS tipo_de_retorno
21+
BEGIN
22+
-- Corpo da função com comandos SQL
23+
RETURN valor;
24+
END;
25+
```
26+
27+
## Exemplo de Stored Function
28+
29+
Suponha que temos uma tabela chamada `Produtos` com colunas `preco` e `desconto`, e queremos calcular o preço final com desconto.
30+
31+
```sql
32+
DELIMITER //
33+
CREATE FUNCTION CalculaPrecoFinal (precoDecimal DECIMAL(10, 2), descontoDecimal DECIMAL(4, 2))
34+
RETURNS DECIMAL(10, 2)
35+
BEGIN
36+
DECLARE precoFinal DECIMAL(10, 2);
37+
SET precoFinal = precoDecimal - (precoDecimal * descontoDecimal);
38+
RETURN precoFinal;
39+
END;
40+
//
41+
DELIMITER ;
42+
```
43+
44+
## Chamando uma Stored Function
45+
46+
Depois de criada, podemos chamá-la em nossas consultas:
47+
48+
```sql
49+
SELECT nome, preco, desconto, CalculaPrecoFinal(preco, desconto) AS preco_com_desconto
50+
FROM Produtos;
51+
```
52+
53+
## Considerações Finais
54+
55+
- As Stored Functions são úteis para encapsular lógica de negócios no banco de dados.
56+
- Elas podem receber parâmetros e retornar valores.
57+
- São criadas usando a declaração `CREATE FUNCTION`.
58+
- Podem ser chamadas em consultas SQL como funções regulares.
59+
60+
Lembre-se de que a utilização de Stored Functions deve ser cuidadosamente considerada, pois seu uso excessivo pode afetar o desempenho do banco de dados.
61+
62+
Esta foi uma introdução às Stored Functions em MySQL. Elas são uma ferramenta poderosa para melhorar a organização e reutilização de lógica de negócios em consultas SQL.

0 commit comments

Comments
 (0)