Data Control Language, GRANT SELECT, INSERT, UPDATE, and/or DELETE
Format: GRANT {SELECT | INSERT | UPDATE | DELETE | REFERENCES} [column_names]
ON {table_name | view_name}
TO {user_id | PUBLIC} [WITH GRANT OPTIONS];
When you create a database object, you own it and you are the only person who can grant privileges to others. When you grant privileges to them, they can use those privileges, but they can not grant those privileges to others. This allows you to give users access to objects, but they can not give access to other users.
If you limit the GRANT to specific column_names, this option normally applies only to the INSERT and UPDATE privileges. You limit the ability to SELECT specific columns by creating a VIEW with the specific columns and then GRANT SELECT on that VIEW.
> SQL Server and Sybase do allow specific column_names to be specified in the SELECT, allowing you to define fewer views.
> Many RDBMS systems use a GRANT similar to DB2′s format, which allows you to specify a list of tables and a list of user-IDs. This makes it easier to grant many privileges at once.