File tree 1 file changed +41
-0
lines changed 1 file changed +41
-0
lines changed Original file line number Diff line number Diff line change @@ -19,3 +19,44 @@ SELECT
19
19
first_name,
20
20
greet_employee(first_name)
21
21
FROM employees;
22
+
23
+ -- max_raise function
24
+ SELECT *
25
+ FROM employees;
26
+
27
+ SELECT *
28
+ FROM jobs;
29
+
30
+ SELECT
31
+ e .employee_id ,
32
+ e .first_name ,
33
+ e .salary ,
34
+ j .max_salary ,
35
+ j .max_salary - salary AS possible_raise,
36
+ max_raise(e .employee_id )
37
+ FROM employees AS e
38
+ INNER JOIN jobs AS j ON j .job_id = e .job_id ;
39
+
40
+ CREATE OR REPLACE FUNCTION max_raise (empl_id INT )
41
+ RETURNS NUMERIC (8 ,2 ) AS $$
42
+ DECLARE
43
+ -- salary NUMERIC(8,2);
44
+ -- max_salary NUMERIC(8,2);
45
+ possible_raise NUMERIC (8 ,2 );
46
+ BEGIN
47
+ SELECT j .max_salary - salary INTO possible_raise
48
+ FROM employees AS e
49
+ INNER JOIN jobs AS j ON j .job_id = e .job_id
50
+ WHERE e .employee_id = empl_id;
51
+
52
+ RETURN possible_raise;
53
+ END;
54
+ $$ LANGUAGE plpgsql;
55
+
56
+ SELECT max_raise(206 );
57
+
58
+ SELECT
59
+ employee_id,
60
+ first_name,
61
+ max_raise(employee_id)
62
+ FROM employees;
You can’t perform that action at this time.
0 commit comments