-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy path01_function_definitions.sql
66 lines (39 loc) · 1.06 KB
/
01_function_definitions.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
SET GLOBAL log_bin_trust_function_creators = 1;
-- GET LEAD TIME
DELIMITER $$
CREATE FUNCTION GetLeadTime(required_item_id VARCHAR(16))
RETURNS INT
BEGIN
DECLARE LT INT;
SET LT = ( SELECT item.lead_time
FROM item
WHERE item.item_id = required_item_id);
RETURN LT;
END $$
DELIMITER;
-- GET LOT SIZE
DELIMITER $$
CREATE FUNCTION GetLotSize(required_item_id VARCHAR(16))
RETURNS INT
BEGIN
DECLARE LS INT;
SET LS = ( SELECT item.lot_size
FROM item
WHERE item.item_id = required_item_id);
RETURN LS;
END $$
DELIMITER;
-- GET PROJECTED INVENTORY
DELIMITER $$
CREATE FUNCTION GetProjectedInventory( required_item_id VARCHAR(16),
required_item_period INT)
RETURNS INT
BEGIN
DECLARE PInv INT;
SET PInv = (SELECT item_period.projected_inventory
FROM item_period
WHERE item_period.item_id = required_item_id AND
item_period.period_number = required_item_period);
RETURN PInv;
END $$
DELIMITER;