Semantics : BindVariableList

BindVariableList  ::=  ( @ INT_LIT
( :: FUNCTION_NAME Arguments
| ( : array | bigDecimal | blob | boolean | byte | bytes | clob | Date | double
| float | int | long | Numeric | ref | short | String | Struct | time
| timestamp | varchar | other | oracle_rowid | oracle_cursor | oracle_bfile
)? ( = Expr | => PrimaryExpr | <=> PrimaryExpr )?
) ),+

Used by:  

Each bind variable (the ? in the prepared SQL statement) is represented by its index, with 1 being the first. The type of the bind variable can be specified after : ; default is string. If the SQL is not a procedure call, a value is bound to the variable. For procedure calls, input variables can be bound to values with = , and output and bi-directional variables can be bound to a JudoScript variable with => or <=> .

For some RDBMSs, the result column is not a simple value, but rather is an object such as an input or output stream (in the case of BLOBs). Instead of binding values or variables, use the :: notation to call the method. These methods of the JDBC result set almost always take a column index as the first parameter; this index is part of @ here, so call that method with the rest of the required parameters, if any.