>>-CREATE FUNCTION--function-name-------------------------------> >--(--+---------------------------+--)--------------------------> | .-,---------------------. | | V | | '---parameter-declaration-+-' .-,---------------------------------------. V | >--RETURNS TABLE--(----column-name--data-type2--+------------+-+--)--> '-AS LOCATOR-' >--option-list-------------------------------------------------><
parameter-declaration: |--+----------------+--data-type1--+------------+---------------| '-parameter-name-' '-AS LOCATOR-' data-type1, data-type2: |--+-built-in-type------+---------------------------------------| '-distinct-type-name-'
built-in-type: |--+-+---SMALLINT---+--------------------------------------------------------------------------+--| | +-+-INTEGER-+--+ | | | '-INT-----' | | | '---BIGINT-----' | | .-(5,0)------------------------. | +-+-+-DECIMAL-+-+--+------------------------------+-----------------------------------------+ | | '-DEC-----' | | .-,0--------. | | | '-NUMERIC-----' '-(--integer--+-----------+--)-' | | '-, integer-' | | .-(--53--)------. | +-+-FLOAT--+---------------+-+--------------------------------------------------------------+ | | '-(--integer--)-' | | | +-REAL---------------------+ | | | .-PRECISION-. | | | '-DOUBLE--+-----------+----' | | .-(--1--)-------. | +-+-+-+-CHARACTER-+--+---------------+----------+--+----------------+---------------------+-+ | | | '-CHAR------' '-(--integer--)-' | +-FOR BIT DATA---+ | | | | '-+-+-CHARACTER-+--VARYING-+--(--integer--)-' +-FOR SBCS DATA--+ | | | | | '-CHAR------' | +-FOR MIXED DATA-+ | | | | '-VARCHAR----------------' '-ccsid-clause---' | | | | .-(--1M--)-------------. | | | '-----+-+-CHARACTER-+--LARGE OBJECT-+------+----------------------+--+----------------+-' | | | '-CHAR------' | '-(--integer--+---+--)-' +-FOR SBCS DATA--+ | | '-CLOB------------------------' +-K-+ +-FOR MIXED DATA-+ | | +-M-+ '-ccsid-clause---' | | '-G-' | | .-(--1--)-------. | +-+---GRAPHIC----+---------------+-------+--+--------------+--------------------------------+ | | '-(--integer--)-' | '-ccsid-clause-' | | +-+-GRAPHIC VARYING-+--(--integer--)---+ | | | '-VARGRAPHIC------' | | | | .-(--1M--)-------------. | | | '---DBCLOB----+----------------------+-' | | '-(--integer--+---+--)-' | | +-K-+ | | +-M-+ | | '-G-' | | .-(--1--)-------. | +-+-+-BINARY--+---------------+---------+-----------------+---------------------------------+ | | | '-(--integer--)-' | | | | | '-+-BINARY VARYING-+--(--integer--)-' | | | | '-VARBINARY------' | | | | .-(--1M--)-------------. | | | '---+-BLOB----------------+----+----------------------+-' | | '-BINARY LARGE OBJECT-' '-(--integer--+---+--)-' | | +-K-+ | | +-M-+ | | '-G-' | +-+-DATE-------------------+----------------------------------------------------------------+ | | .-(--0--)-. | | | +-TIME--+---------+------+ | | | .-(--6--)-. | | | '-TIMESTAMP--+---------+-' | '---ROWID-----------------------------------------------------------------------------------' ccsid-clause: .-NOT NORMALIZED-. |--CCSID--integer--+----------------+---------------------------| '-NORMALIZED-----'
option-list: (1) |--+-----------------------+------------------------------------> '-LANGUAGE--+-C-------+-' +-C++-----+ +-CL------+ +-COBOL---+ +-COBOLLE-+ +-FORTRAN-+ +-JAVA----+ +-PLI-----+ +-RPG-----+ '-RPGLE---' >--+-PARAMETER STYLE DB2SQL-----+-------------------------------> '-PARAMETER STYLE DB2GENERAL-' .-NOT DETERMINISTIC-. >--+-------------------------+--+-------------------+-----------> '-SPECIFIC--specific-name-' '-DETERMINISTIC-----' .-READS SQL DATA----. .-CALLED ON NULL INPUT-------. >--+-------------------+--+----------------------------+--------> +-NO SQL------------+ '-RETURNS NULL ON NULL INPUT-' +-CONTAINS SQL------+ '-MODIFIES SQL DATA-' .-INHERIT SPECIAL REGISTERS-. .-STATIC DISPATCH-. >--+---------------------------+--+-----------------+-----------> .-NO DBINFO-. .-EXTERNAL ACTION----. .-FENCED-----. >--+-----------+--+--------------------+--+------------+--------> '-DBINFO----' '-NO EXTERNAL ACTION-' '-NOT FENCED-' .-NO FINAL CALL-. >--+-------------------+--+---------------+---------------------> +-PROGRAM TYPE MAIN-+ '-FINAL CALL----' '-PROGRAM TYPE SUB--' .-NO SCRATCHPAD-----------. >----DISALLOW PARALLEL----+-------------------------+-----------> | .-100-----. | '-SCRATCHPAD--+---------+-' '-integer-' .-EXTERNAL-----------------------------. >--+--------------------------------------+---------------------> '-EXTERNAL NAME--external-program-name-' >--+---------------------+--------------------------------------| '-CARDINALITY--bigint-'
(C) Copyright IBM Corporation 1992, 2006. All Rights Reserved.