Snippet Name: FUNCTIONS: Nested Functions Description: Oracle functions can be placed within other Oracle functions, extending their capability. Also see:» FUNCTIONS: Deterministic » FUNCTIONS: IF statement » FUNCTIONS: date/time » FUNCTIONS: Sample functions » FUNCTIONS: drop » FUNCTIONS: Recompile » FUNCTIONS: DEBUG mode » FUNCTIONS: IN OUT parameter » FUNCTIONS: with output parameters » FUNCTIONS: with parameters » FUNCTIONS: without parameters » FUNCTIONS: Create function » FUNCTIONS: special restrictions » FUNCTIONS: System Privileges » IN Function » Built-In Functions: CASE » Built-In Functions: DECODE » SUBST and INSTR together » INSTR (InString) » SUBSTR (SubString) » String Functions: REVERSE » String Functions: LENGTH » String Functions: INSTR » String Functions: CONCAT » String Functions: CHAR » String Functions: INITCAP » String Functions: LOWER » String Functions: UPPER » Date Functions: NUMTOYMINTERVAL » Date Functions: NUMTODSINTERVAL Comment: (none) Language: Highlight Mode: PLSQL Last Modified: March 13th, 2009
Description: Oracle functions can be placed within other Oracle functions, extending their capability.
Also see:» FUNCTIONS: Deterministic » FUNCTIONS: IF statement » FUNCTIONS: date/time » FUNCTIONS: Sample functions » FUNCTIONS: drop » FUNCTIONS: Recompile » FUNCTIONS: DEBUG mode » FUNCTIONS: IN OUT parameter » FUNCTIONS: with output parameters » FUNCTIONS: with parameters » FUNCTIONS: without parameters » FUNCTIONS: Create function » FUNCTIONS: special restrictions » FUNCTIONS: System Privileges » IN Function » Built-In Functions: CASE » Built-In Functions: DECODE » SUBST and INSTR together » INSTR (InString) » SUBSTR (SubString) » String Functions: REVERSE » String Functions: LENGTH » String Functions: INSTR » String Functions: CONCAT » String Functions: CHAR » String Functions: INITCAP » String Functions: LOWER » String Functions: UPPER » Date Functions: NUMTOYMINTERVAL » Date Functions: NUMTODSINTERVAL
CREATE OR REPLACE FUNCTION nested(some_date DATE) RETURN VARCHAR2 IS yrstr VARCHAR2(4); -- beginning of nested function in declaration section FUNCTION turn_around ( year_string VARCHAR2) RETURN VARCHAR2 IS BEGIN yrstr := TO_CHAR(TO_NUMBER(year_string)*2); RETURN yrstr; END; -- end of nested function in declaration section -- beginning of named function BEGIN yrstr := TO_CHAR(some_date, 'YYYY'); yrstr := turn_around(yrstr); RETURN yrstr; END nested;