Home | Previous Page | Next Page   Creating Java User-Defined Routines > Registering Java User-Defined Routines >

Specifying the External Name

The following diagram details the external-name portion of the CREATE ROUTINE (or FUNCTION or PROCEDURE) statement for a UDR written in Java code.

Read syntax diagramSkip visual syntax diagram>>-EXTERNAL NAME--| Java External Name |-----------------------><
 
Java External Name:
 
|--'--+-THISJAR---------------------------------+--:------------>
      '-+---------------------------+--jar_name-'
        '-+-------------+--owner--.-'
          '-database--.-'
 
>--+-----------------+--class_name.method----------------------->
   '-package_name--.-'
 
      .-,-----------------.
      V                   |
>--(----+---------------+-+--)--'-------------------------------|
        '-java_datatype-'
 

Element Purpose Restrictions
class_name Class to which the UDR belongs Must be an existing class.
database Database where the jar exists If omitted, defaults to the current database. Must be an existing database.
jar_name Jar identifier as specified in the install_jar() statement Must be an existing JAR name.
java_datatype Name of a Java data type The second column of the following table shows data types and class names that you can use for this variable. Must be a Java data type.
method Name of the static method of the UDR Must be an existing method.
owner Owner of the jarIf omitted, defaults to the current user. Must be an existing user name.
package_name Name of a package Required if the UDR classes are in a package.

When used within a deployment descriptor, the THISJAR keyword automatically expands to the SQLJ-defined three-part JAR path.

The following table shows mapping between SQL data values and Java types. Use the values in the second column for the java_datatype variable.

SQL Data Type
Java Type
CHAR(1)
char
CHAR(1)
java.lang.Character
CHAR()
Java.lang.String
CHARACTER()
java.lang.String
CHARACTER VARYING()
java.lang.String
VARCHAR
java.lang.String
LVARCHAR
java.lang.String
SMALLINT
short
SMALLINT
java.lang.Short
INTEGER
int
INTEGER
java.lang.Integer
INT8
long
INT8
java.lang.Long
SMALLFLOAT
float
SMALLFLOAT
java.lang.Float
REAL
float
REAL
java.lang.Float
FLOAT
double
FLOAT
java.lang.Double
DOUBLE PRECISION
double
DOUBLE PRECISION
java.lang.Double
DECIMAL
java.math.BigDecimal
MONEY
java.math.BigDecimal
NUMERIC
java.math.BigDecimal
BOOLEAN
boolean
BOOLEAN
java.lang.Boolean
DATE
java.sql.Date
DATETIME HOUR TO
SECOND
java.sql.Time
DATETIME YEAR TO
FRACTION
java.sql.Timestamp
INTERVAL
java.lang.String
BLOB
java.sql.Blob
CLOB
java.sql.Clob
Home | [ Top of Page | Previous Page | Next Page | Contents | Index ]