Это легко достигается путем предоставления правильного уровня доступа:
REVOKE ALL ON TABLE GRADES FROM USER1; -- to clear out all privileges
GRANT INSERT, UPDATE, DELETE ON TABLE GRADES TO USER1;
Это позволит USER1 вставлять, обновлять и удалять, но не выбирать из таблицы оценок.
Измените USER1
на PUBLIC
или какую-нибудь группу или что-то еще, что вам нужно. Измените список разрешений по своему усмотрению.
Ваша ситуация - это вариант классического примера в курсе базы данных IBM, который я использовал для обучения: финансовому персоналу разрешено выплачивать% заработной платы, но не см. , каков уровень оплаты для сотрудников, поэтому
GRANT UPDATE ON TABLE EMPLOYEE TO ACCT_STAFF; -- an no other privileges
, который позволяет им выплачивать 15% заработной платы за счет выполнения:
UPDATE EMPLOYEE SET PAY = PAY * 1.15 WHERE EMPLOYEE_ID = 666;