DECLARE --+-> FUNCTION ---+-> <routine-name> ------------------+ +-> PROCEDURE --+ | +----------------------------- <-----------------------------+ +-+--------------------------------+-------------------------+ +-> STORED NAME IS <identifier> -+ | +--------------------------- <-------------------------------+ +-> ( -+-----------------------+-> ) ------------------------+ ++-> parameter-list --+-+ | +-------- , <--------+ | +--------------------------- <-------------------------------+ +-+-------------------+--> --+------------------+----------------> +-> returns-clause -+ +-> LANGUAGE SQL --+ parameter-list = -+----------+-+-------------------+-+-> data-type -----+----------+ +-> IN ----+ +> <parameter-name> + +-> <domain-name> -+ | +-> OUT ---+ | +-> INOUT -+ | +-----------------------------------------------------------------+ +-+---------------------------+--+---------------------+----------+ +-> DEFAULT value-expr -----+ +-> mechanism-clause -+ | +------------------------------<---------------------------------+ ++---------------------------------+-------------------------------> +-> COMMENT IS -+-> 'string' ---+-+ +------ / <-----+ mechanism-clause = ----> BY --+-> DESCRIPTOR -+---> +-> LENGTH -----+ +-> REFERENCE --+ +-> VALUE ------+ returns-clause = ---> RETURNS -+> result-data-type -++---------------------+--> +> <domain-name> ----++-> mechanism-clause -+