@Igor_Petrovv

Нужно сделать чтобы только управляющие имели доступ к информации о сотруднике и могли ее менять, как?

Есть вот такой код:
CREATE FUNCTION log_salary_access() RETURNS trigger AS $log_salary_access$
BEGIN
IF OLD.manager_id != current_user THEN
RAISE EXCEPTION 'access denied';
END IF;
RETURN NEW;
END;
$log_salary_access$ LANGUAGE plpgsql;
CREATE TRIGGER log_salary_access AFTER UPDATE ON employees
FOR EACH ROW EXECUTE PROCEDURE log_salary_access();
,

Но он не верен, так как после проверки было мне отписали, что это не будет работать правильно:

Вот так выглядит таблица:
5ec685ad35e97748294512.png
Вот прямое управление ( посредственное) менеджера 100:
5ec6865154f34304110939.png
Вот непосредственное, то есть менеджер 100 управляет менеджерами, которые на рисунке выше и менеджер 100 управляет ( изменяет информацию о них) работниками, которые подчиняются менеджерам, которые на предыдущем рисунке. И вот список подчиненных гораздо больше, чем при посредственном управлении:
5ec6871274e2d587679763.png
  • Вопрос задан
  • 75 просмотров
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы