SET ROLE SQL Statement | Teradata Vantage - 17.00 - SET ROLE - Advanced SQL Engine - Teradata Database

Teradata Vantage™ - SQL Data Definition Language Syntax and Examples

Advanced SQL Engine
Teradata Database
Release Number
September 2020
Content Type
Programming Reference
Publication ID
English (United States)

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


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.