SQL$HELP72.HLB  —  CREATE  MODULE  Arguments

1  –  AUTHORIZATION auth id

    A name that identifies the definer of a module and is used to
    perform privilege validation for the module. the User_Supplied_
    Names HELP topic for information about using authorization
    identifiers.

2  –  COMMENT_IS

    Adds a comment about the module, routine, and parameter. SQL
    displays the text of the comment when it executes a SHOW MODULE,
    SHOW FUNCTION, or SHOW PROCEDURE statement. Enclose the comment
    in single quotation marks (')  and separate multiple lines in a
    comment with a slash mark (/).

3  –  compound-statement

    Allows you to include more than one SQL statement in a stored
    routine. See the Compound_Statement HELP topic for more
    information.

4  –  compound-use-statement

    Allows you to include one SQL statement in a stored routine. See
    the Compound_Statement HELP topic for more information.

    If you are defining a stored function, the simple statement must
    be the RETURNS clause.

5  –  data-type

    A valid SQL data type. Specifying an explicit data type is an
    alternative to specifying a domain name. See the Data_Types HELP
    topic for more information on data types.

6  –  decl-local-temp-table-statement

    Declares a local temporary table for the module. See the DECLARE
    LOCAL_TEMPORARY_TABLE statement for more information.

7  –  declare-transaction-statement

    Declares a transaction for the module. Only one declare-
    transaction-statement is permitted for each module. If omitted,
    an implicit DECLARE TRANSACTION READ WRITE is used. See the
    DECLARE TRANSACTION statement for more information.

8  –  declare-variable-statement

    Declares a global variable for the module. See the statement
    DECLARE Variable for more information.

9  –  DEFAULT value-expr

    Specifies the default value of a parameter for a function or
    procedure defined with mode IN. If you omit this parameter or if
    the Call statement argument list or function invocation specifies
    the DEFAULT keyword, then the value-expr specified with this
    clause is used. The parameter uses NULL as the default if you do
    not specify a value expression explicitly.

10  –  DETERMINISTIC

    Syntax options:

    DETERMINISTIC | NOT DETERMINISTIC

    The clause controls the evaluation of an external function in the
    scope of a query:

    o  NOT DETERMINISTIC

       Specifying the NOT DETERMINISTIC clause forces evaluation
       of corresponding functions (in scope of a single query)
       every time the function appears. If a function can return a
       different result each time it is invoked, you should use the
       DETERMINISTIC clause.

    o  DETERMINISTIC

       Specifying the DETERMINISTIC clause can result in a single
       evaluation of corresponding function expressions (in scope
       of a single query), and the resulting value is used in all
       occurrences of the corresponding function expression. When you
       use the DETERMINISTIC clause, Oracle Rdb evaluates whether or
       not to invoke the function each time it is used.

       For example:

       SELECT * FROM T1 WHERE F1() > 0 AND F1() < 20;

       If you define the F1 function as DETERMINISTIC, the function
       F1() may be evaluated just once depending on the optimizer. If
       you define the F1 function as NOT DETERMINISTIC, the function
       F1() is evaluated twice.

       DETERMINISTIC is the default.

    The DETERMINISTIC or NOT DETERMINISTIC clause is not allowed on
    procedure definitions.

11  –  domain-name

    The name of a domain created in a CREATE DOMAIN statement. For
    more information about domains, see the CREATE DOMAIN statement.

12  –  DEFAULT value-expr

    Specifies the default value of a parameter for a function or
    procedure defined with mode IN. If you omit this parameter or if
    the Call statement argument list or function invocation specifies
    the DEFAULT keyword, then the value-expr specified with this
    clause is used. The parameter uses NULL as the default if you do
    not specify a value expression explicitly.

13  –  FUNCTION function-name

    A user-supplied name that you give to a function in a module. The
    name you specify must be unique within the database definition.

14  –  IN parameter name

    Specifies the parameter modes used in the procedure. The IN
    parameter names the parameter that is read into the routine,
    however is never set and cannot be written to.

    The IN parameter is the only mode allowed for functions.

    Each parameter name must be unique within the routine.

15  –  INOUT parameter name

    Specifies the parameter modes used in the procedure. The INOUT
    parameter names a parameter that inputs data (is read) as well as
    receives data (is set). The INOUT parameter is a parameter that
    is modified.

    Each parameter name must be unique within the procedure.

    You cannot use the INOUT parameter mode for stored functions.

16  –  LANGUAGE_SQL

    The LANGUAGE keyword and the SQL argument signify that the
    procedures in a module are to be invoked by SQL statements, not a
    host language program.

    With unstored procedures, the LANGUAGE keyword specifies the name
    of a host language; this identifies the host language in which
    the program calling a module's procedures is written.

    Beginning with Oracle Rdb Release 7.1, this clause is optional.

17  –  module-name

    A user-supplied name that you assign to a module.

    See the User_Supplied_Names HELP topic for more information on
    user-supplied names.

18  –  OUT parameter name

    Specifies the parameter modes used in the procedure. The OUT
    parameter names the parameter into which data is being sent. The
    OUT parameter is set, but never read.

    Each parameter name must be unique within the procedure.

    You cannot use the OUT parameter mode for stored functions.

19  –  parameter-decl

    Specifies the parameters and parameter modes used in a stored or
    external routine.

20  –  PROCEDURE procedure-name

    A user-supplied name that you give to a procedure in a module.
    The name you specify must be unique within the database
    definition.

21  –  RETURNS result data type

    Specifies the data type or domain of the result of the function
    invocation. This clause is only valid when defining a function.
    You can only use the RETURNS clause when defining a function.

22  –  routine-clause

    The definition of a stored function or stored procedure created
    in a module.

23  –  STORED_NAME_IS

    Specifies a name that Oracle Rdb uses to access a module
    procedure or function created in a multischema database. Or
    specifies a name that Oracle Rdb uses to access a procedure or
    a function created in a stored module.

24  –  USAGE_IS

    Specifies how the function or procedure can be called:

    o  USAGE IS GLOBAL indicates that the function or procedure can
       be called outside the current module. This is the default.

    o  USAGE IS LOCAL specifies that the routine is restricted to
       references within the module. This clause is provided for
       compatibility with CREATE MODULE but is not allowed for CREATE
       FUNCTION or CREATE PROCEDURE.

25  –  VARIANT

    Syntax options:

    VARIANT | NOT VARIANT

    These clauses are synonyms for the DETERMINISTIC and NOT
    DETERMINISTIC clauses. The DETERMINISTIC clause indicates that
    the same inputs to the function will generate the same output.
    It is the same as the NOT VARIANT clause. The NOT DETERMINISTIC
    clause indicates that the output of the function does not depend
    on the inputs. It is the same as the VARIANT clause.

    This clause is deprecated. Use DETERMINISTIC instead.

26  –  variant-clause

    Syntax options:

    DETERMINISTIC | NOT DETERMINISTIC

    The clause controls the evaluation of an external function in the
    scope of a query:

    o  NOT DETERMINISTIC

       Specifying the NOT DETERMINISTIC clause forces evaluation
       of corresponding functions (in scope of a single query)
       every time the function appears. If a function can return a
       different result each time it is invoked, you should use the
       DETERMINISTIC clause.

    o  DETERMINISTIC

       Specifying the DETERMINISTIC clause can result in a single
       evaluation of corresponding function expressions (in scope
       of a single query), and the resulting value is used in all
       occurrences of the corresponding function expression. When you
       use the DETERMINISTIC clause, Oracle Rdb evaluates whether or
       not to invoke the function each time it is used.

       For example:

       SELECT * FROM T1 WHERE F1() > 0 AND F1() < 20;

       If you define the F1 function as DETERMINISTIC, the function
       F1() may be evaluated just once depending on the optimizer. If
       you define the F1 function as NOT DETERMINISTIC, the function
       F1() is evaluated twice.

       DETERMINISTIC is the default.

    The DETERMINISTIC or NOT DETERMINISTIC clause is not allowed on
    procedure definitions.
Close Help