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

Teradata Vantage™ SQL Data Definition Language Detailed Topics

Product
Teradata Database
Teradata Vantage NewSQL Engine
Release Number
16.20
Release Date
March 2019
Content Type
Programming Reference
Publication ID
B035-1184-162K
Language
English (United States)

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.