Skip to Main Content
Oracle in a Nutshell
book

Oracle in a Nutshell

by Rick Greenwald, David C. Kreines
December 2002
Intermediate to advanced content levelIntermediate to advanced
928 pages
85h 29m
English
O'Reilly Media, Inc.
Content preview from Oracle in a Nutshell

Functions

CREATE [OR REPLACE] FUNCTION name 
   [ (parameter [,parameter]) ]
   RETURN return_datatype
   [AUTHID {CURRENT_USER | DEFINER} ] 
   [DETERMINISTIC] 
   [PARALLEL_ENABLED] 
   [PIPELINED]
   [AGGREGATE USING]
{IS | AS}
   [declaration_section]
BEGIN
   executable_section
[EXCEPTION
   exception_section]
END [name];

Program unit, or module, that executes zero or more statements and that returns a value through the RETURN clause. Like procedures, functions can also receive or return zero or more values through their parameter lists. A function must have at least one RETURN statement in the execution section. The RETURN clause in the function header specifies the datatype of the returned value.

A function can be called anywhere an expression of the same type can be used. You can call a function as follows:

  • In an assignment statement:

    sales95 := tot_sales(1995,'C');
  • To set a default value:

    DECLARE
     sales95 NUMBER DEFAULT tot_sales(1995,'C');
    BEGIN
  • In a Boolean expression:

    IF tot_sales(1995,'C') > 10000
    THEN
    ...
  • In a SQL statement:

    SELECT first_name ,surname
       FROM sellers
    WHERE tot_sales(1995,'C') > 1000;
  • As an argument in another program unit’s parameter list.

Common keywords: AUTHID, DETERMINISTIC, PARALLEL_ENABLE AGGREGATE USING, and PIPELINED.

Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Start your free trial

You might also like

Oracle Internals

Oracle Internals

Donald K. Burleson
Oracle PL/SQL

Oracle PL/SQL

Lewis Cunningham
Oracle Essentials: Oracle9i, Oracle8i and Oracle8, Second Edition

Oracle Essentials: Oracle9i, Oracle8i and Oracle8, Second Edition

Rick Greenwald, Robert Stackowiak, Jonathan Stern

Publisher Resources

ISBN: 0596003366Errata Page