-
- Type Parameters:
T
- The parameter type
- All Superinterfaces:
Named
,QueryPart
,Serializable
,Typed<T>
public interface Parameter<T> extends 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 Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description boolean
isDefaulted()
Whether this parameter has a default valueboolean
isUnnamed()
Whether this parameter has a name or not.-
Methods inherited from interface org.jooq.Named
getComment, getName, getQualifiedName, getUnqualifiedName
-
Methods inherited from interface org.jooq.Typed
getBinding, getConverter, getDataType, getDataType, getType
-
-
-
-
Method Detail
-
isDefaulted
boolean isDefaulted()
Whether this parameter has a default valueProcedures 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,Named.getName()
will return a synthetic name created from the parameter index.
-
-