DatabaseProgramming: SIM ready for use check.sql

File SIM ready for use check.sql, 1015 bytes (added by 231094, 3 weeks ago)
Line 
1CREATE OR REPLACE FUNCTION fn_check_sim_activation_status(
2 p_sim_id BIGINT
3)
4RETURNS TEXT
5LANGUAGE plpgsql
6AS $$
7DECLARE
8 v_sim_status TEXT;
9 v_active_subscription BIGINT;
10BEGIN
11 SELECT status
12 INTO v_sim_status
13 FROM sim_cards
14 WHERE sim_id = p_sim_id;
15
16 IF NOT FOUND THEN
17 RETURN 'SIM does not exist.';
18 END IF;
19
20 SELECT subscription_id
21 INTO v_active_subscription
22 FROM sim_card_subscription_history
23 WHERE sim_id = p_sim_id
24 AND end_date IS NULL
25 LIMIT 1;
26
27 IF v_active_subscription IS NOT NULL THEN
28 RETURN 'SIM is already assigned to active subscription ' || v_active_subscription || '.';
29 END IF;
30
31 IF v_sim_status <> 'available' THEN
32 RETURN 'SIM exists but status is ' || v_sim_status || ', not available.';
33 END IF;
34
35 RETURN 'SIM is available and can be used for activation.';
36END;
37$$;
38
39SELECT fn_check_sim_activation_status(1);
40
41-- mozhe da se koristi za sim activation procedurot