Module org.jooq
Package org.jooq

Interface Parameter<T>

Type Parameters:
T - The parameter type
All Superinterfaces:
Field<T>, FieldOrConstraint, FieldOrRow, GroupField, Named, OrderField<T>, ParamOrVariable<T>, QueryPart, SelectField<T>, SelectFieldOrAsterisk, Serializable, Typed<T>, Variable<T>

public interface Parameter<T> extends Variable<T>, Named, Typed<T>
A parameter to a stored procedure or function.

Instances of this type cannot be created directly. They are available from generated code.

Author:
Lukas Eder
  • Method Details

    • isDefaulted

      boolean isDefaulted()
      Whether this parameter has a default value

      Procedures and functions with defaulted parameters behave slightly different from ones without defaulted parameters. In PL/SQL and other procedural languages, it is possible to pass parameters by name, reordering names and omitting defaulted parameters:

       CREATE PROCEDURE MY_PROCEDURE (P_DEFAULTED IN NUMBER := 0
                                      P_MANDATORY IN NUMBER);
      
       -- The above procedure can be called as such:
       BEGIN
         -- Assign parameters by index
         MY_PROCEDURE(1, 2);
      
         -- Assign parameters by name
         MY_PROCEDURE(P_DEFAULTED => 1,
                      P_MANDATORY => 2);
      
         -- Omitting defaulted parameters
         MY_PROCEDURE(P_MANDATORY => 2);
       END;
       

      If a procedure has defaulted parameters, jOOQ binds them by name, rather than by index.

      Currently, this is only supported for Oracle 11g

    • isUnnamed

      boolean isUnnamed()
      Whether this parameter has a name or not.

      Some databases (e.g. SQLDialect.POSTGRES) allow for using unnamed parameters. In this case, Field.getName() will return a synthetic name created from the parameter index.

    • getParamMode

      ParamMode getParamMode()
      Get the parameter mode for this parameter.