This commit is contained in:
ada-dmitry
2023-12-04 12:40:42 +03:00
parent 6dc308a601
commit 3125047b7a
2 changed files with 324 additions and 8 deletions
+17 -8
View File
@@ -30,14 +30,17 @@ b) Напишите программу на языке PL/SQL, печатающ
-- Пункт а)
WITH RECURSIVE tmp AS (
SELECT id, first_name, last_name, manager_id, 1 AS level
FROM bd6_employees
WHERE manager_id = 1 or id = 1
UNION ALL
SELECT e.id, e.first_name, e.last_name, e.manager_id, t.level + 1
FROM bd6_employees e JOIN tmp t ON e.manager_id = t.id )
SELECT * FROM tmp
SELECT id, first_name, last_name, manager_id, 1 AS level
FROM bd6_employees
WHERE manager_id = 1 OR id = 1
UNION ALL
SELECT e.id, e.first_name, e.last_name, e.manager_id, t.level + 1
FROM bd6_employees e
JOIN tmp t ON e.manager_id = t.id
)
SELECT id, first_name, last_name
FROM tmp
GROUP BY id, first_name, last_name;
-- Пункт б)
CREATE OR REPLACE PROCEDURE department_names(integer) AS $$
@@ -228,6 +231,12 @@ call f();
-- Task 7 from lab4 --
CREATE VIEW dep_staff_counts AS
SELECT department, COUNT(*) AS ecount
FROM staff
GROUP BY department;
SELECT * FROM dep_staff_counts;