Syntax options:
AFTER identifier | AFTER PUBLIC
Specifies the position of the entry within the ACL to be modified
or created.
With the AFTER or POSITION argument, you can specify the position
in the list after which SQL searches for an ACL entry with an
identifier that matches the one specified in the TO clause of the
GRANT statement.
Following are specifics about the AFTER and POSITION arguments:
o In the AFTER argument, the identifier specifies the entry in
the ACL after which SQL begins its search for the entry to be
modified or created. If none of the entries in the ACL has an
identifier that matches the identifier specified in the AFTER
argument, SQL generates an error and the statement fails.
Starting after the entry specified by the identifier in the
AFTER argument, SQL searches the entries in the ACL. If an
entry has an identifier that matches the identifier specified
by the TO clause of the GRANT statement, SQL creates a new
entry that contains only those privileges specified in the
GRANT statement. SQL retains only the entry appearing first in
the ACL, and deletes any entries with duplicate identifiers.
If none of the entries has an identifier that matches the
identifier specified by the TO clause of the GRANT statement,
SQL creates a new ACL entry immediately following the
identifier specified in the AFTER argument.
Specifying PUBLIC is equivalent to a wildcard specification of
all user identifiers.
o In the POSITION argument, the integer specifies the earliest
relative position in the ACL of the entry to be modified or
created.
Starting with the position specified by the POSITION argument,
SQL searches the entries in the ACL. If an entry has an
identifier that matches the identifier specified by the
TO clause of the GRANT statement, SQL creates a new entry
that contains only those privileges specified in the GRANT
statement. SQL retains only the entry appearing first in the
ACL, and deletes any entries with duplicate identifiers.
If none of the entries has an identifier that matches the
identifier specified by the TO clause of the GRANT statement,
SQL creates a new entry for that identifier at the relative
position specified in the POSITION argument (even if an entry
before the position at which SQL began its search had an
identifier that matched).
If you specify a position higher than the number of entries in
the list, SQL places the entry last in the ACL. For example,
if you specify position 12 and there are only 10 entries in
the list, the new entry is placed in position 11 and given
that position number.
o If you omit the AFTER or POSITION argument, SQL searches
the entire ACL for an identifier list that matches the one
specified in the TO clause of the GRANT statement. If it finds
a match, it modifies the ACL entry by adding those privileges
specified in the privilege list that are not already present.
If there is no match, SQL creates a new entry at the beginning
of the ACL.