EXTERNAL SECURITY Clause - Advanced SQL Engine - Teradata Database

SQL Data Definition Language Detailed Topics

Product
Advanced SQL Engine
Teradata Database
Release Number
17.10
Published
July 2021
Language
English (United States)
Last Update
2021-07-27
dita:mapPath
imq1591724555718.ditamap
dita:ditavalPath
imq1591724555718.ditaval
dita:id
B035-1184
lifecycle
previous
Product Category
Teradata Vantage™

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.