-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathDB.sql
More file actions
61 lines (49 loc) · 1.34 KB
/
DB.sql
File metadata and controls
61 lines (49 loc) · 1.34 KB
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
CREATE TABLE Clientes (
id_cliente INT PRIMARY KEY AUTO_INCREMENT,
nombre VARCHAR(50)
);
CREATE TABLE Pedidos (
id_pedido INT PRIMARY KEY AUTO_INCREMENT,
id_cliente INT,
total DECIMAL(10,2),
FOREIGN KEY (id_cliente) REFERENCES Clientes(id_cliente)
);
CREATE TABLE RegistroPedidos (
id_registro INT PRIMARY KEY AUTO_INCREMENT,
id_pedido INT,
id_cliente INT,
total DECIMAL(10,2),
fecha TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);
-- Tabla para registrar failovers y backups
CREATE TABLE system_events (
id INT PRIMARY KEY AUTO_INCREMENT,
primary_node VARCHAR(50) NOT NULL,
replica_node VARCHAR(50) NOT NULL,
last_failover DATETIME,
last_backup DATETIME,
created_at DATETIME DEFAULT CURRENT_TIMESTAMP,
event_type VARCHAR(20) NOT NULL DEFAULT 'FAILOVER'
);
INSERT INTO Clientes (nombre)
VALUES ('Leonardo'), ('Edna'), ('Carlos'), ('Sofía');
INSERT INTO Pedidos (id_cliente, total)
VALUES
(1, 1500.00),
(2, 800.00),
(3, 1200.00),
(4, 600.00);
--Crear trigger
DELIMITER $$
CREATE TRIGGER insertar_pedido
AFTER INSERT ON Pedidos
FOR EACH ROW
BEGIN
INSERT INTO RegistroPedidos (id_pedido, id_cliente, total)
VALUES (NEW.id_pedido, NEW.id_cliente, NEW.total);
END $$
DELIMITER ;
INSERT INTO Pedidos (id_cliente, total)
VALUES (1, 2050.00);
SELECT * FROM RegistroPedidos;
SELECT * FROM Pedidos;