17.05 - locator_specification - Advanced SQL Engine - Teradata Database

Teradata Vantage™ - SQL Data Definition Language Syntax and Examples

Product
Advanced SQL Engine
Teradata Database
Release Number
17.05
Release Date
January 2021
Content Type
Programming Reference
Publication ID
B035-1144-175K
Language
English (United States)

A parenthetical comma-separated list of data types and optional parameter names for the variables to be passed to the function.

The maximum number of parameters a method accepts is 128.

data_type AS LOCATOR
BLOB and CLOB types must be represented by a locator. For a description of locators, see Teradata Vantage™ - SQL Data Manipulation Language, B035-1146.
You cannot specify in-memory LOB parameters. An AS LOCATOR phrase must be specified for each LOB parameter and return value.
parameter_name data_type
Whenever an LOB that requires data type conversion is passed to a method, the LOB must first be materialized for the conversion to take place.
You must specify opening and closing parentheses even if no parameters are to be passed to the function.
parameter_name data_type AS LOCATOR
]If you specify one parameter name, then you must specify names for all the parameters to be passed.
If you do not specify parameter names, the system assigns unique names to them in the form P1, P2, …, Pn. These names are used in the COMMENT statement, displayed in the report produced by the HELP METHOD statement, and appear in the text of error messages.
See COMMENT (Comment Placing Form).
See HELP METHOD.
The data type associated with each parameter is the type of the parameter or returned value. All Vantage predefined data types and UDTs (except for the DYNAMIC type) are valid. If you specify a UDT, then the current user of the method must have one of the following privilege sets:
  • UDTMETHOD, UDTTYPE, or UDTUSAGE on the SYSUDTLIB database.
  • UDTUSAGE on the specified UDT.
Character data can also specify a CHARACTER SET clause.
For data types that take a length or size specification, like BYTE, CHARACTER, DECIMAL, VARCHAR, and so on, the size of the parameter indicates the largest number of bytes that can be passed.
You cannot specify VARIANT_TYPE as a parameter data type for a method.
If the external routine for the method is written in C or C++, you can specify TD_ANYTYPE as a parameter data type.