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

SQL Data Definition Language Syntax and Examples

Product
Advanced SQL Engine
Teradata Database
Release Number
17.05
Published
January 2021
Language
English (United States)
Last Update
2021-01-22
dita:mapPath
ncd1596241368722.ditamap
dita:ditavalPath
hoy1596145193032.ditaval
dita:id
B035-1144
lifecycle
previous
Product Category
Teradata Vantage™

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.

ANSI Compliance

SET ROLE is ANSI SQL:2011-compliant, except for the NULL, EXTERNAL, and ALL options, which are Teradata extensions.

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.