Restricting Access to Specific Columns
Unlike GRANT, the REVOKE statement has no syntax to specify privileges on a subset of columns in a table. To revoke the Select, Update, or References privilege on a column from a user, you must revoke the privilege for all the columns of the table. To provide access to some of the columns on which you previously had granted privileges, issue a new GRANT statement to restore the appropriate privilege on specific columns.
The next example cancels Select privileges for PUBLIC on certain
columns:
REVOKE SELECT ON customer FROM PUBLIC; GRANT SELECT (fname, lname, company, city) ON customer TO PUBLIC;
In the next example, mary first receives the ability to
reference four columns in customer, then the table owner restricts
references to two columns:
GRANT REFERENCES (fname, lname, company, city) ON customer TO mary; REVOKE REFERENCES ON customer FROM mary; GRANT REFERENCES (company, city) ON customer TO mary;