Sets the current role for a session. It does not distinguish between directory- and database-managed roles.
You cannot use SET ROLE in a procedure definition.
SET ROLE ALL enables all roles granted to the user submitting the SET ROLE statement, including nested roles.
Use of SET ROLE EXTERNAL requires that the user is a directory user and is mapped to the external role object in the directory. For details, see Teradata Vantage™ - Advanced SQL Engine Security Administration, B035-1100.
The use of SET ROLE is not permitted in a trusted session. The active roles for trusted sessions must be defined using the SET QUERY_BAND request. See SET QUERY_BAND.
Required Privileges
Statement | Result |
---|---|
SET ROLE NONE SET ROLE NULL |
No privilege is needed to disable the current role for a session. |
SET ROLE role_name | The role must already be granted to you. |
SET ROLE ALL | No privilege is needed and you are not required to have any roles granted to you. |
SET ROLE EXTERNAL | At least one role must already be assigned (mapped) to you in the directory. See Security Administration. |