-
Notifications
You must be signed in to change notification settings - Fork 0
/
STORED-PROCEDURES.sql
82 lines (55 loc) · 1.67 KB
/
STORED-PROCEDURES.sql
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
/* Stored Procedure deve ter apenas letras ou números, o nome da Stored Procedure não pode passar de 64 caracteres e deve ser unicos.
Podemos usar o caracter "$" ou "_" (underscore) para separar dois nomes ou nomes compostos. */
DROP procedure IF EXISTS `hello_people`;
DELIMITER $$
USE `vendas_sucos`$$
CREATE PROCEDURE `hello_people` ()
BEGIN
select 'Hello People!!';
END$$
DELIMITER ;
-- Para Chamar uma Stored Procedure, USAMOS:
call hello_people; /* RESULTADO: Hello People!! */
-- Outro exemplo é que Stored Procedures tambem pode me mostrar numeros:
DROP procedure IF EXISTS `calcular`;
DELIMITER $$
USE `vendas_sucos`$$
CREATE PROCEDURE `calcular` ()
BEGIN
select (2 + 8) - 5;
END$$
DELIMITER ;
call calcular; /* RESULTADO: (2 + 8) - 5 = 5 */
-- OU resultado de calculos com o AS (alias):
DROP procedure IF EXISTS `calculo_alias`;
DELIMITER $$
USE `vendas_sucos`$$
CREATE PROCEDURE `calculo_alias` ()
BEGIN
select (2 + 8) - 5 as resultado;
END$$
DELIMITER ;
call calcular; /* RESULTADO: 5 */
-- Podemos também CONCATENAR concat()
DROP procedure IF EXISTS `funcoes`;
DELIMITER $$
USE `vendas_sucos`$$
CREATE PROCEDURE `funcoes` ()
BEGIN
select concat('Hello People!', '......', (2 + 8) - 5) as itens_combinados;
END$$
DELIMITER ;
call funcoes; /* RESULTADO: Hello People!......5 */
-- Comentários na Stored Proceduresd:
DROP procedure IF EXISTS `comentarios`;
DELIMITER $$
USE `vendas_sucos`$$
CREATE PROCEDURE `comentarios` ()
BEGIN
/* Vamos exibir aqui nosso Comentario
entre textos e numeros */
-- Usando a função CONCAT
select concat('Hello People!', '......', (2 + 8) - 5) as itens_combinados;
END$$
DELIMITER ;
call comentarios; /* RESULTADO: Hello People!......5 */