INSERT/UPDATE/DELETE Privilege for Owners of View Tables

Since view tables only represent views on the data available in base tables, there are certain aspects that should be noted when privileges are allocated for view tables.

INSERT privilege for the owner of the view table

The owner of a view table has the INSERT privilege, which means that, if the following conditions are satisfied, he or she can specify the view table in the INSERT statement as the table in which data is to be inserted:

·        The view table is an updateable view table.

·        The owner of the view table has the INSERT privilege for all tables in the FROM clause of the CREATE VIEW statement.

·        The selected columns of the CREATE VIEW statement consist only of table columns table_columnsor column names column_name, but not of expressions with more than one column name.

·        The CREATE VIEW statement contains every mandatory column from all tables of the FROM clause as the selected column.

UPDATE privilege for the owner of the view table

The owner of the view table has the UPDATE privilege for a column in the view table, which means that, if the following conditions are satisfied, he or she can specify the column in an UPDATE statement as the column to be updated:

·        The view table is an updateable view table.

·        The owner of the view table has the UPDATE privilege for the table columns table_columnsor the column name column_name that defines the column.

·        The column is defined by the specification of table columns or by means of a column name, but not by an expression with more than one column name.

DELETE privilege for the owner of the view table

The owner of the view table has the DELETE privilege for the view table, which means that, if the following conditions are satisfied, he or she can specify the view table in the DELETE statement as the table from which entries are to be deleted:

·         The view table is an updateable view table.

·         The owner of the view table has the DELETE privilege for all tables in the FROM clause of the CREATE VIEW statement.

See also:

Privilege Specification (priv_spec)