Using composite privileges
SQL statements that name more than one object require privileges on all of the tables included in the statement.
About this task
An
SQL statement can name more than one object. A SELECT operation, for
example, can join two or more tables, or an INSERT statement can use
a subquery. These operations require privileges on all of the tables
that are included in the statement. However, you might be able to
issue such a statement dynamically even though one of your IDs alone
does not have all the required privileges.
If the DYNAMICRULES
run behavior is in effect when the dynamic statement is prepared and
your primary ID, any associated role, or any of your secondary IDs
has all the needed privileges, the statement is validated. However,
if you embed the same statement in a host program and try to bind
it into a plan or package, the validation fails. The validation also
fails for the dynamic statement if DYNAMICRULES bind, define, or invoke
behavior is in effect when you issue the dynamic statement. In each
case, all the required privileges must be held by the single authorization
ID, determined by DYNAMICRULES behavior.