16.20 - EXTERNAL SECURITY Clause - Teradata Database - Teradata Vantage NewSQL Engine

Teradata Vantage™ SQL Data Definition Language Detailed Topics

Teradata Database
Teradata Vantage NewSQL Engine
Release Number
March 2019
Content Type
Programming Reference
Publication ID
English (United States)
Last Update

This clause is mandatory for all external procedures that perform operating system I/O. Failing to specify this clause for a procedure that performs I/O can produce unpredictable results and even cause the database, if not the entire system, to reset.

Note that authorization_name is an optional Teradata extension to the ANSI SQL:2011 standard.

When a procedure definition specifies EXTERNAL SECURITY DEFINER, then that procedure executes in one of the following environments.
  • Specified OS platform user context of the associated security statement created for that purpose.
  • Same database or user in which the procedure is defined.
The following rules apply.
  • If you do not specify an authorization name, then you must create a default DEFINER authorization name (see CREATE AUTHORIZATION and REPLACE AUTHORIZATION) before a user attempts to execute the procedure.
  • If you have specified an authorization name, then an object with that name must be created before the you can execute the procedure.

    The system returns a warning message to the requestor when no authorization name exists at the time the procedure is being created.