15.00 - Function Identifiers - Teradata Database

Teradata Database SQL Data Definition Language Detailed Topics

prodname
Teradata Database
vrm_release
15.00
category
Programming Reference
featnum
B035-1184-015K

Function Identifiers

Function names (see “Function Name” on page 253) are distinct from specific function names (see “Function Class Clause” on page 269), external function names (see “EXTERNAL NAME Clause” on page 276), and function entry point names (see “UDF Default Location Paths” on page 287).

The following table briefly outlines the differences among the different function identifiers:

 

Function Identifier

Syntax Variable Name

Definition

Function name

function_name

The identifier used to call the function from an SQL statement.

If no specific name is assigned to the function, then the name stored in the data dictionary is function_name.

If a specific name is assigned to the function, then function_name is not the name by which the dictionary knows the function as a database object, and it need not be unique within its database.

Specific function name

specific_function_name

The identifier used to define the function as a database object in the dictionary table DBC.TVM.

External function name

external_function_name

The external function name for a C or C++ external routine can be expressed in two ways:

  • As an identifier that names the entry point for the function object. Case is significant, and the name must match the name of the C or C++ function body.
  • As a string that identifies a client‑defined path to the C or C++ function source code.
  • An external function name is mandatory for a Java external routine when you specify JAVA in the Language clause.

    In this case, external_function_name is referred to as an external Java reference string.

    The external Java reference string specifies the JAR file, Java class within the JAR, and the Java method within the class that is to be invoked when the Java UDF is executed.

    External function name (continued)

    external_function_name (continued)

  • The first part is the JAR_ID. This is the registered name of the associated JAR file. You must create this name using the external procedure SQLJ.INSTALL_JAR.
  • The second part is the name of the Java class contained within the JAR that contains the Java method to execute.
  • The third part is the name of the method that is executed.
  • For example, if you have a JAR file that has been registered in the database with the ID salesreports, and the class within the JAR is named formal, and the method within the class to be called is named monthend, then the string salesreports:formal.monthend completely defines the exact method to invoke when the Java UDF is executed.

    Function entry point name

    function_entry_point_name

    The identifier used to define the entry point name of the function.

    A function entry point name must be specified if its name is different than the function name or specific function names defined for the function.

    You cannot specify function_entry_
    point_name
    more than one time in the EXTERNAL clause of the CREATE FUNCTION or REPLACE FUNCTION statements.