EXTERNAL SECURITY Clause - Teradata Vantage - Analytics Database

SQL Data Definition Language Detailed Topics

Deployment
VantageCloud
VantageCore
Edition
VMware
Enterprise
IntelliFlex
Product
Analytics Database
Teradata Vantage
Release Number
17.20
Published
June 2022
ft:locale
en-US
ft:lastEdition
2025-11-22
dita:mapPath
vuk1628111288877.ditamap
dita:ditavalPath
qkf1628213546010.ditaval
dita:id
jbg1472252759029
lifecycle
latest
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.