Вам не нужна функция, вам нужно представление:
create view employee_view as
select * from employee where salary <= 1500;
Тогда только пользователи получают доступ к представлению, а не к таблице.При необходимости вы можете переименовать так, чтобы представление называлось employee
, а базовая таблица называлась employee_table
или как угодно.
В качестве альтернативы, отметив заголовок вашего вопроса, вы можете посмотреть на Virtual PrivateБаза данных (ВПД) ака "Детальный контроль доступа".Но это звучит как излишнее для ваших заявленных требований и доступно только в Enterprise Edition.