-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathtask11.sql
More file actions
33 lines (31 loc) · 955 Bytes
/
task11.sql
File metadata and controls
33 lines (31 loc) · 955 Bytes
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
USE financial16_25;
DELIMITER $$
DROP PROCEDURE IF EXISTS generate_cards_at_expiration_report;
CREATE PROCEDURE generate_cards_at_expiration_report(p_date DATE)
BEGIN
TRUNCATE TABLE cards_at_expiration;
INSERT INTO cards_at_expiration
WITH cte AS (
SELECT c2.client_id,
c.card_id,
date_add(c.issued, interval 3 year) as expiration_date,
d2.A3
FROM
card as c
INNER JOIN
disp as d using (disp_id)
INNER JOIN
client as c2 using (client_id)
INNER JOIN
district as d2 using (district_id)
)
SELECT
*,
p_date
FROM cte
WHERE p_date BETWEEN DATE_ADD(expiration_date, INTERVAL -7 DAY) AND expiration_date
;
END;
DELIMITER ;
CALL generate_cards_at_expiration_report('2001-01-01');
SELECT * FROM cards_at_expiration;