Package oracle.jdbc

Interface OracleCallableStatement

  • All Superinterfaces:
    AutoCloseable, CallableStatement, OraclePreparedStatement, OracleStatement, PreparedStatement, Statement, Wrapper

    public interface OracleCallableStatement
    extends CallableStatement, OraclePreparedStatement
    This interface extends the OraclePreparedStatement (which extends the OracleStatement interface) and incorporates standard JDBC callable statement functionality. It is used to execute SQL stored procedure.

    Oracle JDBC drivers support execution of PL/SQL stored procedures and anonymous blocks. They support both SQL92 escape syntax and Oracle PL/SQL block syntax. The following PL/SQL calls would work with any Oracle JDBC driver:

      // SQL92 syntax
      CallableStatement cs1 = conn.prepareCall
      ( "{call proc (?,?)}" ) ; // stored proc
      CallableStatement cs2 = conn.prepareCall
      ( "{? = call func (?,?)}" ) ; // stored func
      // Oracle PL/SQL block syntax
      CallableStatement cs3 = conn.prepareCall
      ( "begin proc (?,?); end;" ) ; // stored proc
      CallableStatement cs4 = conn.prepareCall
      ( "begin ? := func(?,?); end;" ) ; // stored func
      

    As an example of using Oracle syntax, here is a PL/SQL code snippet that creates a stored function. The PL/SQL function gets a character sequence and concatenates a suffix to it:

      create or replace function foo (val1 char)
      return char as
      begin
      return val1 || 'suffix';
      end;
      

    Your invocation call in your JDBC program should look like:

      Connection conn = DriverManager.getConnection
      ("jdbc:oracle:oci8:@<hoststring>", "scott", "tiger");
      CallableStatement cs = conn.prepareCall ("begin ? := foo(?); end;");
      cs.registerOutParameter(1,Types.CHAR);
      cs.setString(2, "aa");
      cs.executeUpdate();
      String result = cs.getString(1);
      
    Since:
    8.1.7
    See Also:
    Connection.prepareCall
  • <section role="region">
    • Method Detail

      • getARRAY

        ARRAY getARRAY​(int parameterIndex)
                throws SQLException
        Retrieves data into an oracle.sql.ARRAY object.
        Parameters:
        parameterIndex - the first parameter is 1, the second is 2, and so on
        Returns:
        data into an ARRAY
        Throws:
        SQLException - if an error occurs (conversion or database-access error)
      • getAsciiStream

        InputStream getAsciiStream​(int parameterIndex)
                            throws SQLException
        Retrieves data into an java.io.InputStream object.
        Parameters:
        parameterIndex - the first parameter is 1, the second is 2, and so on
        Returns:
        data into an java.io.InputStream
        Throws:
        SQLException - if an error occurs (conversion or database-access error)
      • getBFILE

        BFILE getBFILE​(int parameterIndex)
                throws SQLException
        Retrieves data into an oracle.sql.BFILE object.
        Parameters:
        parameterIndex - the first parameter is 1, the second is 2, and so on
        Returns:
        data into an oracle.sql.BFILE
        Throws:
        SQLException - if an error occurs (conversion or database-access error)
      • getBfile

        BFILE getBfile​(int parameterIndex)
                throws SQLException
        Retrieves data into an oracle.sql.BFILE object.
        Parameters:
        parameterIndex - the first parameter is 1, the second is 2, and so on
        Returns:
        data into an oracle.sql.BFILE
        Throws:
        SQLException - if an error occurs (conversion or database-access error)
      • getBinaryStream

        InputStream getBinaryStream​(int parameterIndex)
                             throws SQLException
        Retrieves data into an java.io.InputStream object.
        Parameters:
        parameterIndex - the first parameter is 1, the second is 2, and so on
        Returns:
        data into an java.io.InputStream
        Throws:
        SQLException - if an error occurs (conversion or database-access error)
      • getBinaryStream

        InputStream getBinaryStream​(String parameterName)
                             throws SQLException
        Retrieves data into an java.io.InputStream object.
        Parameters:
        parameterName - the name of the stored procedure formal parameter
        Returns:
        data into an java.io.InputStream
        Throws:
        SQLException - if an error occurs (conversion or database-access error)
      • getBLOB

        BLOB getBLOB​(int parameterIndex)
              throws SQLException
        Retrieves data into an oracle.sql.BLOB object.
        Parameters:
        parameterIndex - the first parameter is 1, the second is 2, and so on
        Returns:
        data into an oracle.sql.BLOB
        Throws:
        SQLException - if an error occurs (conversion or database-access error)
      • getCHAR

        CHAR getCHAR​(int parameterIndex)
              throws SQLException
        Retrieves data into an oracle.sql.CHAR object.
        Parameters:
        parameterIndex - the first parameter is 1, the second is 2, and so on
        Returns:
        data into an oracle.sql.CHAR
        Throws:
        SQLException - if an error occurs (conversion or database-access error)
      • getCharacterStream

        Reader getCharacterStream​(int parameterIndex)
                           throws SQLException
        Retrieves data into an java.io.Reader object.
        Specified by:
        getCharacterStream in interface CallableStatement
        Parameters:
        parameterIndex - the first parameter is 1, the second is 2, and so on
        Returns:
        data into an java.io.Reader
        Throws:
        SQLException - if an error occurs (conversion or database-access error)
      • getCLOB

        CLOB getCLOB​(int parameterIndex)
              throws SQLException
        Retrieves data into an oracle.sql.CLOB object.
        Parameters:
        parameterIndex - the first parameter is 1, the second is 2, and so on
        Returns:
        data into an oracle.sql.CLOB
        Throws:
        SQLException - if an error occurs (conversion or database-access error)
      • getCursor

        ResultSet getCursor​(int parameterIndex)
                     throws SQLException
        Retrieves data into an java.sql.ResultSet object.
        Parameters:
        parameterIndex - the first parameter is 1, the second is 2, and so on
        Returns:
        data into an java.sql.ResultSet
        Throws:
        SQLException - if an error occurs (conversion or database-access error)
      • getCustomDatum

        Object getCustomDatum​(int parameterIndex,
                              CustomDatumFactory factory)
                       throws SQLException
        Deprecated.
        Parameters:
        parameterIndex - the first parameter is 1, the second is 2, and so on
        factory -
        Returns:
        Throws:
        SQLException - if an error occurs (conversion or database-access error)
      • getORAData

        Object getORAData​(int parameterIndex,
                          ORADataFactory factory)
                   throws SQLException
        Parameters:
        parameterIndex - the first parameter is 1, the second is 2, and so on
        factory -
        Returns:
        Throws:
        SQLException - if an error occurs (conversion or database-access error)
      • getObject

        Object getObject​(int parameterIndex,
                         OracleDataFactory factory)
                  throws SQLException
        Returns an instance of OracleData, which is returned by the factory's "create" method
        Parameters:
        parameterIndex - the first parameter is 1, the second is 2, and so on
        factory -
        Returns:
        Throws:
        SQLException - if an error occurs (conversion or database-access error)
      • getAnyDataEmbeddedObject

        Object getAnyDataEmbeddedObject​(int parameterIndex)
                                 throws SQLException
        Deprecated.
        As of Oracle 11R1 there is full support for ANYTYPE and ANYDATA. Please use oracle.sql.ANYDATA for new code and plan on replacing any use of this method by the next major release. Note that in 11R1 this method is reimplemnted using the ANYDATA support and will now also function in all the drivers, not just oci. In the previous implementation it was possible to call registerOutParameter with a sqlType of either oracle.jdbc.OracleTypes.OPAQUE or oracle.jdbc.OracleTypes.STRUCT The new implemention requires the correct type which is OPAQUE.
        Retrieves data of an embedded object within AnyData
        Parameters:
        parameterIndex - the first parameter is 1
        Returns:
        data depending on the embedded type in AnyData
        Throws:
        SQLException - if an error occurs (conversion or database-access error)
      • getDATE

        DATE getDATE​(int parameterIndex)
              throws SQLException
        Retrieves data into an oracle.sql.DATE object.
        Parameters:
        parameterIndex - the first parameter is 1, the second is 2, and so on
        Returns:
        data into an oracle.sql.DATE
        Throws:
        SQLException - if an error occurs (conversion or database-access error)
      • getNUMBER

        NUMBER getNUMBER​(int parameterIndex)
                  throws SQLException
        Retrieves data into an oracle.sql.NUMBER object.
        Parameters:
        parameterIndex - the first parameter is 1, the second is 2, and so on
        Returns:
        data into an oracle.sql.NUMBER
        Throws:
        SQLException - if an error occurs (conversion or database-access error)
      • getOPAQUE

        OPAQUE getOPAQUE​(int parameterIndex)
                  throws SQLException
        Retrieves data into an oracle.sql.OPAQUE object.
        Parameters:
        parameterIndex - the first parameter is 1, the second is 2, and so on
        Returns:
        data into an oracle.sql.OPAQUE
        Throws:
        SQLException - if an error occurs (conversion or database-access error)
      • getOracleObject

        Datum getOracleObject​(int parameterIndex)
                       throws SQLException
        Retrieves data into an oracle.sql.Datum object.
        Parameters:
        parameterIndex - the first parameter is 1, the second is 2, and so on
        Returns:
        data into an oracle.sql.Datum
        Throws:
        SQLException - if an error occurs (conversion or database-access error)
      • getRAW

        RAW getRAW​(int parameterIndex)
            throws SQLException
        Retrieves data into an oracle.sql.RAW object.
        Parameters:
        parameterIndex - the first parameter is 1, the second is 2, and so on
        Returns:
        data into an oracle.sql.RAW
        Throws:
        SQLException - if an error occurs (conversion or database-access error)
      • getREF

        REF getREF​(int parameterIndex)
            throws SQLException
        Retrieves data into an oracle.sql.REF object.
        Parameters:
        parameterIndex - the first parameter is 1, the second is 2, and so on
        Returns:
        data into an oracle.sql.REF
        Throws:
        SQLException - if an error occurs (conversion or database-access error)
      • getROWID

        ROWID getROWID​(int parameterIndex)
                throws SQLException
        Retrieves data into an oracle.sql.ROWID object.
        Parameters:
        parameterIndex - the first parameter is 1, the second is 2, and so on
        Returns:
        data into an oracle.sql.ROWID
        Throws:
        SQLException - if an error occurs (conversion or database-access error)
      • getSTRUCT

        STRUCT getSTRUCT​(int parameterIndex)
                  throws SQLException
        Retrieves data into an oracle.sql.STRUCT object.
        Parameters:
        parameterIndex - the first parameter is 1, the second is 2, and so on
        Returns:
        data into an oracle.sql.STRUCT
        Throws:
        SQLException - if an error occurs (conversion or database-access error)
      • getINTERVALYM

        INTERVALYM getINTERVALYM​(int parameterIndex)
                          throws SQLException
        Retrieves data into an oracle.sql.INTERVALYM object.
        Parameters:
        parameterIndex - the first parameter is 1, the second is 2, and so on
        Returns:
        data into an oracle.sql.INTERVALYM
        Throws:
        SQLException - if an error occurs (conversion or database-access error)
        Since:
        9i
      • getINTERVALDS

        INTERVALDS getINTERVALDS​(int parameterIndex)
                          throws SQLException
        Retrieves data into an oracle.sql.INTERVALDS object.
        Parameters:
        parameterIndex - the first parameter is 1, the second is 2, and so on
        Returns:
        data into an oracle.sql.INTERVALDS
        Throws:
        SQLException - if an error occurs (conversion or database-access error)
        Since:
        10i
      • getTIMESTAMP

        TIMESTAMP getTIMESTAMP​(int paramIdx)
                        throws SQLException
        Retrieves data into an oracle.sql.TIMESTAMP object.
        Parameters:
        paramIdx - the first parameter is 1, the second is 2, and so on
        Returns:
        data into an oracle.sql.TIMESTAMP
        Throws:
        SQLException - if an error occurs (conversion or database-access error)
        Since:
        9i
      • getTIMESTAMPTZ

        TIMESTAMPTZ getTIMESTAMPTZ​(int paramIdx)
                            throws SQLException
        Retrieves data into an oracle.sql.TIMESTAMPTZ object.
        Parameters:
        paramIdx - the first parameter is 1, the second is 2, and so on
        Returns:
        data into an oracle.sql.TIMESTAMPTZ
        Throws:
        SQLException - if an error occurs (conversion or database-access error)
        Since:
        9i
      • getTIMESTAMPLTZ

        TIMESTAMPLTZ getTIMESTAMPLTZ​(int paramIdx)
                              throws SQLException
        Retrieves data into an oracle.sql.TIMESTAMPLTZ object.
        Parameters:
        paramIdx - the first parameter is 1, the second is 2, and so on
        Returns:
        data into an oracle.sql.TIMESTAMPLTZ
        Throws:
        SQLException - if an error occurs (conversion or database-access error)
        Since:
        9i
      • getUnicodeStream

        InputStream getUnicodeStream​(int parameterIndex)
                              throws SQLException
        Retrieves data into an java.io.InputStream object.
        Parameters:
        parameterIndex - the first parameter is 1, the second is 2, and so on
        Returns:
        data into an java.io.InputStream
        Throws:
        SQLException - if an error occurs (conversion or database-access error)
      • getUnicodeStream

        InputStream getUnicodeStream​(String parameterName)
                              throws SQLException
        Retrieves data into an java.io.InputStream object.
        Parameters:
        parameterName - the name of the stored procedure formal parameter
        Returns:
        data into an java.io.InputStream
        Throws:
        SQLException - if an error occurs (conversion or database-access error)
      • registerOutParameter

        void registerOutParameter​(int paramIndex,
                                  int sqlType,
                                  int scale,
                                  int maxLength)
                           throws SQLException
        Special Oracle version of registerOutParameter for registering CHAR, VARCHAR, LONG, RAW and LONG RAW columns. Depending on the value of OracleConnection.getDataSizeUnits(), maxLength will be measured in bytes or characters.
        Parameters:
        paramIndex - parameter index (the first parameter is 1).
        sqlType - type of the bind parameter
        scale - not used
        maxLength - maximum length of the column, specified in bytes or characters.
        Throws:
        SQLException - if an error occurs (conversion or database-access error)
      • registerOutParameterBytes

        void registerOutParameterBytes​(int paramIndex,
                                       int sqlType,
                                       int scale,
                                       int maxLength)
                                throws SQLException
        Deprecated.
        As of Oracle 10g Release 1 all character values are measured in Java chars so this method is no longer supported. It now is the equivalent of calling registerOutParameter with the same args. Since the number of bytes is at least as large as the number of characters this will always work although it may waste memory. Use registerOutParameter with the number of Java chars instead.
        Special Oracle version of registerOutParameter for registering CHAR, VARCHAR, LONG, RAW and LONG RAW columns. This version accepts a maxLength parameter measured in bytes.
        Parameters:
        paramIndex - parameter index (the first parameter is 1).
        sqlType - type of the bind parameter
        scale - not used
        maxLength - maximum length of the column, specified in bytes. If not specified, maximum length allowed for that type is used.
        Throws:
        SQLException - if an error occurs (conversion or database-access error)
      • registerOutParameterChars

        void registerOutParameterChars​(int paramIndex,
                                       int sqlType,
                                       int scale,
                                       int maxLength)
                                throws SQLException
        Deprecated.
        As of Oracle 10g Release 1 all character values are measured in Java chars so this method is no longer needed. Call registerOutParameter with the same args instead.
        Special Oracle version of registerOutParameter for registering CHAR, VARCHAR, LONG, RAW and LONG RAW columns. This version accepts a maxLength parameter measured in characters.
        Parameters:
        paramIndex - parameter index (the first parameter is 1).
        sqlType - type of the bind parameter
        scale - not used
        maxLength - maximum length of the column, specified in characters. If not specified, maximum length allowed for that type is used.
        Throws:
        SQLException - if an error occurs (conversion or database-access error)
      • sendBatch

        int sendBatch()
               throws SQLException
        Send the sets of parameters batched (for Oracle-style batching only).

        Oracle-style batching is not supported for a callable statement. This method simply returns the number of valid rows.

        Specified by:
        sendBatch in interface OraclePreparedStatement
        Returns:
        the update count (always 0).
        Throws:
        SQLException - if an error occurs (conversion or database-access error)
      • getPlsqlIndexTable

        @Deprecated
        Object getPlsqlIndexTable​(int paramIndex)
                           throws SQLException
        Deprecated.
        since 18.1. Use java.sql.CallableStatement.getObject(int parameterIndex) method.
        Get the value of a PLSQL Associative Array ( formerly known as index-by-table ) parameter as a Java array. The type of the Java arry will be the default Java object type corresponding to the element's SQL type, following the mapping for built-in types specified in the JDBC spec.
        Parameters:
        paramIndex - the first parameter is 1, the second is 2, and so on
        Returns:
        A java.lang.Object holding the parameter value.
        Throws:
        SQLException - if a database-access error occurs.
        SQLException - if an error occurs (conversion or database-access error)
        See Also:
        registerIndexTableOutParameter(int, int, int, int)
      • getPlsqlIndexTable

        @Deprecated
        Object getPlsqlIndexTable​(int paramIndex,
                                  Class<?> primitiveType)
                           throws SQLException
        Deprecated.
        since 18.1. Use java.sql.CallableStatement.getObject(int parameterIndex, Class<T> type) method.
        Get the value of a PLSQL Associative Array ( formerly known as index-by-table ) parameter as a primitive array. 'primitiveType' speicifies the return array type.
        Parameters:
        paramIndex - the first parameter is 1, the second is 2, and so on
        primitiveType - is a primitive type class. For example,java.lang.Double.Type
        Returns:
        A java.lang.Object holding the parameter value.
        Throws:
        SQLException - if a database-access error occurs.
        SQLException - if an error occurs (conversion or database-access error)
        See Also:
        registerIndexTableOutParameter(int, int, int, int)
      • getOraclePlsqlIndexTable

        @Deprecated
        Datum[] getOraclePlsqlIndexTable​(int paramIndex)
                                  throws SQLException
        Deprecated.
        since 18.1 Use java.sql.CallableStatement.getObject(int parameterIndex) method.
        Get the value of a PLSQL Associative Array ( formerly known as index-by-table ) parameter as a oracle.sql.Datum array.
        Parameters:
        paramIndex - the first parameter is 1, the second is 2, and so on
        Returns:
        A Datum array holding the parameter value.
        Throws:
        SQLException - if a database-access error occurs.
        SQLException - if an error occurs (conversion or database-access error)
        See Also:
        registerIndexTableOutParameter(int, int, int, int)
      • registerIndexTableOutParameter

        @Deprecated
        void registerIndexTableOutParameter​(int paramIndex,
                                            int maxLen,
                                            int elemSqlType,
                                            int elemMaxLen)
                                     throws SQLException
        Deprecated.
        since 18.1. Use java.sql.CallableStatement.registerOutParameter (int parameterIndex, int sqlType, String typeName).
        Special Oracle version of registerOutParameter for registering a limited form of PL/SQL Associative Array parameters. Associative Arrays were formerly called index-by-tables. In PL/SQL they are arrays of key-value pairs where the keys may be numeric or string types and the values may be any scalar type. The keys may be sparse. See the PL/SQL manual. The database only exports a limited form of this to the client where the keys must be numeric, positive and dense and the values can be only numeric or string. This API is supported by the oci and thin driver It is also supported by the server side internal driver with a limitation on the element length for string of 1999 characters. For oci and thin this is the same as the database limitation of 32767 characters.
        Parameters:
        paramIndex - the first parameter is 1, the second is 2, and so on
        maxLen - the maximum possible number of elements.
        elemSqlType - index table element SQL type (as defined in java.sql.Types or OracleTypes).
        elemMaxLen - maximum length of the element. If not specified, maximum length allowed for that type is used.
        Throws:
        SQLException - if sqlType is invalid, or an error occurred.
        Since:
        8.1.7
      • setBinaryFloat

        void setBinaryFloat​(String parameterName,
                            BINARY_FLOAT x)
                     throws SQLException
        Sets the designated parameter to the given oracle.sql.BINARY_FLOAT value.
        Parameters:
        the - name of the stored procedure formal parameter
        x - the parameter value
        Throws:
        SQLException - if a database access error occurs
        Since:
        10.0
        See Also:
        CallableStatement.getFloat(int)
      • setStringForClob

        void setStringForClob​(String parameterName,
                              String x)
                       throws SQLException
        Sets the designated parameter to the given Java String value. The driver converts this to an SQL VARCHAR or LONGVARCHAR value (depending on the argument's size relative to the driver's limits on VARCHAR values) when it sends it to the database. If the string is larger than 32765 it is converted to a temporary clob and that is sent to the database. This clob conversion produces data truncation for columns of type VARCHAR and LONGVARCHAR. This is wrong.
        Parameters:
        the - name of the stored procedure formal parameter
        x - the parameter value
        Throws:
        SQLException - if a database access error occurs
        Since:
        10i Release 1
        See Also:
        CallableStatement.getString(int)
      • setBytesForBlob

        void setBytesForBlob​(String parameterName,
                             byte[] x)
                      throws SQLException
        Sets the designated parameter to the given Java byte[] value. The driver converts this to an SQL BINARY or LONGBINARY CHECK THIS value (depending on the argument's size relative to the driver's limits on VARCHAR values) when it sends it to the database. If the byte array is larger than 32765 it is converted to a temporary blob and that is sent to the database. This blob conversion produces data truncation for columns of type BINARY..
        Parameters:
        the - name of the stored procedure formal parameter
        x - the parameter value
        Throws:
        SQLException - if a database access error occurs
        Since:
        10i Release 1
        See Also:
        CallableStatement.getString(int)
      • registerOutParameter

        void registerOutParameter​(String parameterName,
                                  int sqlType,
                                  int scale,
                                  int maxLength)
                           throws SQLException
        Special Oracle version of registerOutParameter for registering CHAR, VARCHAR, LONG, RAW and LONG RAW columns. Depending on the value of OracleConnection.getDataSizeUnits(), maxLength will be measured in bytes or characters.
        Parameters:
        parameterName - the name of the parameter
        sqlType - SQL type code defined by java.sql.Types.
        scale - the desired number of digits to the right of the decimal point. It must be greater than or equal to zero.
        maxLength - maximum length of the column, specified in bytes or characters.
        Throws:
        SQLException - if an error occurs (conversion or database-access error)
        Since:
        10i Release 1
      • setNull

        void setNull​(String parameterName,
                     int sqlType,
                     String typeName)
              throws SQLException
        Sets the designated parameter to SQL NULL. This version of the method setNull should be used for user-defined types and REF type parameters. Examples of user-defined types include: STRUCT, DISTINCT, JAVA_OBJECT, and named array types.

        Note: To be portable, applications must give the SQL type code and the fully-qualified SQL type name when specifying a NULL user-defined or REF parameter. In the case of a user-defined type the name is the type name of the parameter itself. For a REF parameter, the name is the type name of the referenced type. If a JDBC driver does not need the type code or type name information, it may ignore it. Although it is intended for user-defined and Ref parameters, this method may be used to set a null parameter of any JDBC type. If the parameter does not have a user-defined or REF type, the given typeName is ignored.

        Specified by:
        setNull in interface CallableStatement
        Parameters:
        the - name of the stored procedure formal parameter
        sqlType - a value from java.sql.Types
        typeName - the fully-qualified name of an SQL user-defined type; ignored if the parameter is not a user-defined type or SQL REF value
        Throws:
        SQLException - if a database access error occurs
        Since:
        10i Release 1
      • setNull

        void setNull​(String parameterName,
                     int sqlType)
              throws SQLException
        Sets the designated parameter to SQL NULL.

        Note: You must specify the parameter's SQL type.

        Specified by:
        setNull in interface CallableStatement
        Parameters:
        the - name of the stored procedure formal parameter
        sqlType - the SQL type code defined in java.sql.Types
        Throws:
        SQLException - if a database access error occurs
        Since:
        9.0.2
      • setBoolean

        void setBoolean​(String parameterName,
                        boolean x)
                 throws SQLException
        Sets the designated parameter to the given Java boolean value. The driver converts this to an SQL BIT value when it sends it to the database.
        Specified by:
        setBoolean in interface CallableStatement
        Parameters:
        the - name of the stored procedure formal parameter
        x - the parameter value
        Throws:
        SQLException - if a database access error occurs
        Since:
        9.0.2
        See Also:
        CallableStatement.getBoolean(int)
      • setByte

        void setByte​(String parameterName,
                     byte x)
              throws SQLException
        Sets the designated parameter to the given Java byte value. The driver converts this to an SQL TINYINT value when it sends it to the database.
        Specified by:
        setByte in interface CallableStatement
        Parameters:
        the - name of the stored procedure formal parameter
        x - the parameter value
        Throws:
        SQLException - if a database access error occurs
        Since:
        9.0.2
        See Also:
        CallableStatement.getByte(int)
      • setShort

        void setShort​(String parameterName,
                      short x)
               throws SQLException
        Sets the designated parameter to the given Java short value. The driver converts this to an SQL SMALLINT value when it sends it to the database.
        Specified by:
        setShort in interface CallableStatement
        Parameters:
        the - name of the stored procedure formal parameter
        x - the parameter value
        Throws:
        SQLException - if a database access error occurs
        Since:
        9.0.2
        See Also:
        CallableStatement.getShort(int)
      • setInt

        void setInt​(String parameterName,
                    int x)
             throws SQLException
        Sets the designated parameter to the given Java int value. The driver converts this to an SQL INTEGER value when it sends it to the database.
        Specified by:
        setInt in interface CallableStatement
        Parameters:
        the - name of the stored procedure formal parameter
        x - the parameter value
        Throws:
        SQLException - if a database access error occurs
        Since:
        9.0.2
        See Also:
        CallableStatement.getInt(int)
      • setLong

        void setLong​(String parameterName,
                     long x)
              throws SQLException
        Sets the designated parameter to the given Java long value. The driver converts this to an SQL BIGINT value when it sends it to the database.
        Specified by:
        setLong in interface CallableStatement
        Parameters:
        the - name of the stored procedure formal parameter
        x - the parameter value
        Throws:
        SQLException - if a database access error occurs
        Since:
        9.0.2
        See Also:
        CallableStatement.getLong(int)
      • setFloat

        void setFloat​(String parameterName,
                      float x)
               throws SQLException
        Sets the designated parameter to the given Java float value. The driver converts this to an SQL FLOAT value when it sends it to the database.
        Specified by:
        setFloat in interface CallableStatement
        Parameters:
        the - name of the stored procedure formal parameter
        x - the parameter value
        Throws:
        SQLException - if a database access error occurs
        Since:
        9.0.2
        See Also:
        CallableStatement.getFloat(int)
      • setBinaryFloat

        void setBinaryFloat​(String parameterName,
                            float x)
                     throws SQLException
        Sets the designated parameter to the given Java float value. The driver converts this to an SQL BINARY_FLOAT value when it sends it to the database.
        Parameters:
        the - name of the stored procedure formal parameter
        x - the parameter value
        Throws:
        SQLException - if a database access error occurs
        Since:
        10.0
        See Also:
        CallableStatement.getFloat(int)
      • setBinaryDouble

        void setBinaryDouble​(String parameterName,
                             double x)
                      throws SQLException
        Sets the designated parameter to the given oracle.sql.BINARY_FLOAT value.
        Parameters:
        the - name of the stored procedure formal parameter
        x - the parameter value
        Throws:
        SQLException - if a database access error occurs
        Since:
        10.0
        See Also:
        CallableStatement.getFloat(int)
      • setDouble

        void setDouble​(String parameterName,
                       double x)
                throws SQLException
        Sets the designated parameter to the given Java double value. The driver converts this to an SQL DOUBLE value when it sends it to the database.
        Specified by:
        setDouble in interface CallableStatement
        Parameters:
        the - name of the stored procedure formal parameter
        x - the parameter value
        Throws:
        SQLException - if a database access error occurs
        Since:
        9.0.2
        See Also:
        CallableStatement.getDouble(int)
      • setString

        void setString​(String parameterName,
                       String x)
                throws SQLException
        Sets the designated parameter to the given Java String value. The driver converts this to an SQL VARCHAR or LONGVARCHAR value (depending on the argument's size relative to the driver's limits on VARCHAR values) when it sends it to the database.
        Specified by:
        setString in interface CallableStatement
        Parameters:
        the - name of the stored procedure formal parameter
        x - the parameter value
        Throws:
        SQLException - if a database access error occurs
        Since:
        9.0.2
        See Also:
        CallableStatement.getString(int)
      • setFixedCHAR

        void setFixedCHAR​(String parameterName,
                          String x)
                   throws SQLException
        Sets the designated parameter to a String See the javadoc for the setFixedChar(int, String) method in OraclePreparedStatement. Note that PL/SQL comparison operators do provide blank padding.
        Parameters:
        parameterName - the name of the stored procedure formal parameter
        x - the parameter value
        Throws:
        SQLException - if a database access error occurs
      • setCursor

        void setCursor​(String parameterName,
                       ResultSet x)
                throws SQLException
        Sets the designated parameter to a Java Cursor value.
        Parameters:
        parameterName - the name of the stored procedure formal parameter
        value - the parameter value
        Throws:
        SQLException - if a database access error occurs
      • setROWID

        void setROWID​(String parameterName,
                      ROWID x)
               throws SQLException
        Sets the designated parameter to an oracle.sql.ROWIDvalue.
        Parameters:
        parameterName - the name of the stored procedure formal parameter
        value - the parameter value
        Throws:
        SQLException - if a database access error occurs
      • setRAW

        void setRAW​(String parameterName,
                    RAW x)
             throws SQLException
        Sets the designated parameter to an oracle.sql.RAWvalue.
        Parameters:
        parameterName - the name of the stored procedure formal parameter
        value - the parameter value
        Throws:
        SQLException - if a database access error occurs
      • setCHAR

        void setCHAR​(String parameterName,
                     CHAR x)
              throws SQLException
        Sets the designated parameter to an oracle.sql.CHARvalue.
        Parameters:
        parameterName - the name of the stored procedure formal parameter
        value - the parameter value
        Throws:
        SQLException - if a database access error occurs
      • setDATE

        void setDATE​(String parameterName,
                     DATE x)
              throws SQLException
        Sets the designated parameter to an oracle.sql.DATEvalue.
        Parameters:
        parameterName - the name of the stored procedure formal parameter
        value - the parameter value
        Throws:
        SQLException - if a database access error occurs
      • setNUMBER

        void setNUMBER​(String parameterName,
                       NUMBER x)
                throws SQLException
        Sets the designated parameter to an oracle.sql.NUMBERvalue.
        Parameters:
        parameterName - the name of the stored procedure formal parameter
        value - the parameter value
        Throws:
        SQLException - if a database access error occurs
      • setBLOB

        void setBLOB​(String parameterName,
                     BLOB x)
              throws SQLException
        Sets the designated parameter to an oracle.sql.BLOBvalue.
        Parameters:
        parameterName - the name of the stored procedure formal parameter
        value - the parameter value
        Throws:
        SQLException - if a database access error occurs
      • setBlob

        void setBlob​(String parameterName,
                     Blob x)
              throws SQLException
        Sets the designated parameter to an java.sql.Blobvalue.
        Specified by:
        setBlob in interface CallableStatement
        Parameters:
        parameterName - the name of the stored procedure formal parameter
        value - the parameter value
        Throws:
        SQLException - if a database access error occurs
      • setCLOB

        void setCLOB​(String parameterName,
                     CLOB x)
              throws SQLException
        Sets the designated parameter to an oracle.sql.CLOBvalue.
        Parameters:
        parameterName - the name of the stored procedure formal parameter
        value - the parameter value
        Throws:
        SQLException - if a database access error occurs
      • setClob

        void setClob​(String parameterName,
                     Clob x)
              throws SQLException
        Sets the designated parameter to an java.sql.Clobvalue.
        Specified by:
        setClob in interface CallableStatement
        Parameters:
        parameterName - the name of the stored procedure formal parameter
        value - the parameter value
        Throws:
        SQLException - if a database access error occurs
      • setBFILE

        void setBFILE​(String parameterName,
                      BFILE x)
               throws SQLException
        Sets the designated parameter to an oracle.sql.BFILEvalue.
        Parameters:
        parameterName - the name of the stored procedure formal parameter
        value - the parameter value
        Throws:
        SQLException - if a database access error occurs
      • setBfile

        void setBfile​(String parameterName,
                      BFILE x)
               throws SQLException
        Sets the designated parameter to an oracle.sql.BFILEvalue.
        Parameters:
        parameterName - the name of the stored procedure formal parameter
        value - the parameter value
        Throws:
        SQLException - if a database access error occurs
      • setBytes

        void setBytes​(String parameterName,
                      byte[] x)
               throws SQLException
        Sets the designated parameter to the given Java array of bytes. The driver converts this to an SQL VARBINARY or LONGVARBINARY (depending on the argument's size relative to the driver's limits on VARBINARY values) when it sends it to the database.
        Specified by:
        setBytes in interface CallableStatement
        Parameters:
        the - name of the stored procedure formal parameter
        x - the parameter value
        Throws:
        SQLException - if a database access error occurs
        Since:
        9.0.2
        See Also:
        CallableStatement.getBytes(int)
      • setDate

        void setDate​(String parameterName,
                     Date x)
              throws SQLException
        Sets the designated parameter to the given java.sql.Date value. The driver converts this to an SQL DATE value when it sends it to the database.
        Specified by:
        setDate in interface CallableStatement
        Parameters:
        the - name of the stored procedure formal parameter
        x - the parameter value
        Throws:
        SQLException - if a database access error occurs
        Since:
        9.0.2
        See Also:
        CallableStatement.getDate(int)
      • setTime

        void setTime​(String parameterName,
                     Time x)
              throws SQLException
        Sets the designated parameter to the given java.sql.Time value. The driver converts this to an SQL TIME value when it sends it to the database.
        Specified by:
        setTime in interface CallableStatement
        Parameters:
        the - name of the stored procedure formal parameter
        x - the parameter value
        Throws:
        SQLException - if a database access error occurs
        Since:
        9.0.2
        See Also:
        CallableStatement.getTime(int)
      • setINTERVALYM

        void setINTERVALYM​(String parameterName,
                           INTERVALYM x)
                    throws SQLException
        Sets the designated parameter to an oracle.sql.INTERVALYMvalue.
        Parameters:
        parameterName - the name of the stored procedure formal parameter
        value - the parameter value
        Throws:
        SQLException - if a database access error occurs
      • setINTERVALDS

        void setINTERVALDS​(String parameterName,
                           INTERVALDS x)
                    throws SQLException
        Sets the designated parameter to an oracle.sql.INTERVALDSvalue.
        Parameters:
        parameterName - the name of the stored procedure formal parameter
        value - the parameter value
        Throws:
        SQLException - if a database access error occurs
      • setTIMESTAMP

        void setTIMESTAMP​(String parameterName,
                          TIMESTAMP x)
                   throws SQLException
        Sets the designated parameter to an oracle.sql.TIMESTAMPvalue.
        Parameters:
        parameterName - the name of the stored procedure formal parameter
        value - the parameter value
        Throws:
        SQLException - if a database access error occurs
      • setTIMESTAMPTZ

        void setTIMESTAMPTZ​(String parameterName,
                            TIMESTAMPTZ x)
                     throws SQLException
        Sets the designated parameter to an oracle.sql.TIMESTAMPTZvalue.
        Parameters:
        parameterName - the name of the stored procedure formal parameter
        value - the parameter value
        Throws:
        SQLException - if a database access error occurs
      • setTIMESTAMPLTZ

        void setTIMESTAMPLTZ​(String parameterName,
                             TIMESTAMPLTZ x)
                      throws SQLException
        Sets the designated parameter to an oracle.sql.TIMESTAMPLTZvalue.
        Parameters:
        parameterName - the name of the stored procedure formal parameter
        value - the parameter value
        Throws:
        SQLException - if a database access error occurs
      • setAsciiStream

        void setAsciiStream​(String parameterName,
                            InputStream x,
                            int y)
                     throws SQLException
        Sets the designated parameter to the given input stream, which will have the specified number of bytes. When a very large ASCII value is input to a LONGVARCHAR parameter, it may be more practical to send it via a java.io.InputStream. Data will be read from the stream as needed until end-of-file is reached. The JDBC driver will do any necessary conversion from ASCII to the database char format.

        Note: This stream object can either be a standard Java stream object or your own subclass that implements the standard interface.

        Specified by:
        setAsciiStream in interface CallableStatement
        Parameters:
        parameterName - the name of the stored procedure formal parameter
        x - the Java input stream that contains the ASCII parameter value
        length - the number of bytes in the stream
        Throws:
        SQLException - if a database access error occurs
        Since:
        9.0.2
      • setBinaryStream

        void setBinaryStream​(String parameterName,
                             InputStream x,
                             int y)
                      throws SQLException
        Sets the designated parameter to the given input stream, which will have the specified number of bytes. When a very large binary value is input to a LONGVARBINARY parameter, it may be more practical to send it via a java.io.InputStream object. The data will be read from the stream as needed until end-of-file is reached.

        Note: This stream object can either be a standard Java stream object or your own subclass that implements the standard interface.

        Specified by:
        setBinaryStream in interface CallableStatement
        Parameters:
        parameterName - the name of the stored procedure formal parameter
        x - the java input stream which contains the binary parameter value
        length - the number of bytes in the stream
        Throws:
        SQLException - if a database access error occurs
        Since:
        9.0.2
      • setUnicodeStream

        void setUnicodeStream​(String parameterName,
                              InputStream x,
                              int y)
                       throws SQLException
        Sets the designated parameter to a Java UnicodeStream value.
        Parameters:
        parameterName - the name of the stored procedure formal parameter
        x - the java input stream which contains the binary parameter value
        length - the number of bytes in the stream
        Throws:
        SQLException - if a database access error occurs
      • setCharacterStream

        void setCharacterStream​(String parameterName,
                                Reader x,
                                int y)
                         throws SQLException
        Sets the designated parameter to the given Reader object, which is the given number of characters long. When a very large UNICODE value is input to a LONGVARCHAR parameter, it may be more practical to send it via a java.io.Reader object. The data will be read from the stream as needed until end-of-file is reached. The JDBC driver will do any necessary conversion from UNICODE to the database char format.

        Note: This stream object can either be a standard Java stream object or your own subclass that implements the standard interface.

        Specified by:
        setCharacterStream in interface CallableStatement
        Parameters:
        the - name of the stored procedure formal parameter
        reader - the java.io.Reader object that contains the UNICODE data used as the designated parameter
        length - the number of characters in the stream
        Throws:
        SQLException - if a database access error occurs
        Since:
        9.0.2
      • setDate

        void setDate​(String parameterName,
                     Date x,
                     Calendar cal)
              throws SQLException
        Sets the designated parameter to the given java.sql.Date value, using the given Calendar object. The driver uses the Calendar object to construct an SQL DATE value, which the driver then sends to the database. With a a Calendar object, the driver can calculate the date taking into account a custom time zone. If no Calendar object is specified, the driver uses the default time zone, which is that of the virtual machine running the application.
        Specified by:
        setDate in interface CallableStatement
        Parameters:
        the - name of the stored procedure formal parameter
        x - the parameter value
        cal - the Calendar object the driver will use to construct the date
        Throws:
        SQLException - if a database access error occurs
        Since:
        9.0.2
        See Also:
        CallableStatement.getDate(int)
      • setTime

        void setTime​(String parameterName,
                     Time x,
                     Calendar cal)
              throws SQLException
        Sets the designated parameter to the given java.sql.Time value, using the given Calendar object. The driver uses the Calendar object to construct an SQL TIME value, which the driver then sends to the database. With a a Calendar object, the driver can calculate the time taking into account a custom time zone. If no Calendar object is specified, the driver uses the default time zone, which is that of the virtual machine running the application.
        Specified by:
        setTime in interface CallableStatement
        Parameters:
        the - name of the stored procedure formal parameter
        x - the parameter value
        cal - the Calendar object the driver will use to construct the time
        Throws:
        SQLException - if a database access error occurs
        Since:
        9.0.2
        See Also:
        CallableStatement.getTime(int)
      • setTimestamp

        void setTimestamp​(String parameterName,
                          Timestamp x,
                          Calendar cal)
                   throws SQLException
        Sets the designated parameter to the given java.sql.Timestamp value, using the given Calendar object. The driver uses the Calendar object to construct an SQL TIMESTAMP value, which the driver then sends to the database. With a a Calendar object, the driver can calculate the timestamp taking into account a custom time zone. If no Calendar object is specified, the driver uses the default time zone, which is that of the virtual machine running the application.
        Specified by:
        setTimestamp in interface CallableStatement
        Parameters:
        the - name of the stored procedure formal parameter
        x - the parameter value
        cal - the Calendar object the driver will use to construct the timestamp
        Throws:
        SQLException - if a database access error occurs
        Since:
        9.0.2
        See Also:
        CallableStatement.getTimestamp(int)
      • setURL

        void setURL​(String parameterName,
                    URL x)
             throws SQLException
        Sets the designated parameter to the given java.net.URL object. The driver converts this to an SQL DATALINK value when it sends it to the database.
        Specified by:
        setURL in interface CallableStatement
        Parameters:
        the - name of the stored procedure formal parameter
        val - the parameter value
        Throws:
        SQLException - if a database access error occurs, or if a URL is malformed
        Since:
        9.0.2
        See Also:
        CallableStatement.getURL(int)
      • setArray

        void setArray​(String parameterName,
                      Array x)
               throws SQLException
        Sets the designated parameter to an java.sql.Arrayvalue.
        Parameters:
        parameterName - the name of the stored procedure formal parameter
        value - the parameter value
        Throws:
        SQLException - if a database access error occurs
      • setARRAY

        void setARRAY​(String parameterName,
                      ARRAY x)
               throws SQLException
        Sets the designated parameter to an oracle.sql.ARRAYvalue.
        Parameters:
        parameterName - the name of the stored procedure formal parameter
        value - the parameter value
        Throws:
        SQLException - if a database access error occurs
      • setOPAQUE

        void setOPAQUE​(String parameterName,
                       OPAQUE x)
                throws SQLException
        Sets the designated parameter to an oracle.sql.OPAQUEvalue.
        Parameters:
        parameterName - the name of the stored procedure formal parameter
        value - the parameter value
        Throws:
        SQLException - if a database access error occurs
      • setSTRUCT

        void setSTRUCT​(String parameterName,
                       STRUCT x)
                throws SQLException
        Sets the designated parameter to an oracle.sql.STRUCTvalue.
        Parameters:
        parameterName - the name of the stored procedure formal parameter
        value - the parameter value
        Throws:
        SQLException - if a database access error occurs
      • setCustomDatum

        void setCustomDatum​(String parameterName,
                            CustomDatum x)
                     throws SQLException
        Sets the designated parameter to an oracle.sql.CustomDatumvalue.
        Parameters:
        parameterName - the name of the stored procedure formal parameter
        value - the parameter value
        Throws:
        SQLException - if a database access error occurs
      • setORAData

        void setORAData​(String parameterName,
                        ORAData x)
                 throws SQLException
        Sets the designated parameter to an oracle.sql.ORADatavalue.
        Parameters:
        parameterName - the name of the stored procedure formal parameter
        value - the parameter value
        Throws:
        SQLException - if a database access error occurs
      • setObject

        void setObject​(String parameterName,
                       Object x,
                       int targetSqlType,
                       int scale)
                throws SQLException
        Sets the value of the designated parameter with the given object. The second argument must be an object type; for integral values, the java.lang equivalent objects should be used.

        The given Java object will be converted to the given targetSqlType before being sent to the database. If the object has a custom mapping (is of a class implementing the interface SQLData), the JDBC driver should call the method SQLData.writeSQL to write it to the SQL data stream. If, on the other hand, the object is of a class implementing Ref, Blob, Clob, Struct, or Array, the driver should pass it to the database as a value of the corresponding SQL type.

        Note that this method may be used to pass database- specific abstract data types.

        Specified by:
        setObject in interface CallableStatement
        Parameters:
        the - name of the stored procedure formal parameter
        x - the object containing the input parameter value
        targetSqlType - the SQL type (as defined in java.sql.Types) to be sent to the database. The scale argument may further qualify this type.
        scale - for java.sql.Types.DECIMAL or java.sql.Types.NUMERIC types, this is the number of digits after the decimal point. For all other types, this value will be ignored.
        Throws:
        SQLException - if a database access error occurs
        Since:
        9.0.2
        See Also:
        Types, getObject(int, oracle.jdbc.OracleDataFactory)
      • setObject

        void setObject​(String parameterName,
                       Object x,
                       int y)
                throws SQLException
        Sets the value of the designated parameter with the given object. This method is like the method setObject above, except that it assumes a scale of zero.
        Specified by:
        setObject in interface CallableStatement
        Parameters:
        the - name of the stored procedure formal parameter
        x - the object containing the input parameter value
        targetSqlType - the SQL type (as defined in java.sql.Types) to be sent to the database
        Throws:
        SQLException - if a database access error occurs
        Since:
        9.0.2
        See Also:
        getObject(int, oracle.jdbc.OracleDataFactory)
      • setRefType

        void setRefType​(String parameterName,
                        REF x)
                 throws SQLException
        Sets the designated parameter to an oracle.sql.REFvalue.
        Parameters:
        parameterName - the name of the stored procedure formal parameter
        value - the parameter value
        Throws:
        SQLException - if a database access error occurs
      • setRef

        void setRef​(String parameterName,
                    Ref x)
             throws SQLException
        Sets the designated parameter to an jdbc.sql.Refvalue.
        Parameters:
        parameterName - the name of the stored procedure formal parameter
        value - the parameter value
        Throws:
        SQLException - if a database access error occurs
      • setREF

        void setREF​(String parameterName,
                    REF x)
             throws SQLException
        Sets the designated parameter to an oracle.sql.REFvalue.
        Parameters:
        parameterName - the name of the stored procedure formal parameter
        value - the parameter value
        Throws:
        SQLException - if a database access error occurs
      • setObject

        void setObject​(String parameterName,
                       Object x)
                throws SQLException
        Sets the value of the designated parameter with the given object. The second parameter must be of type Object; therefore, the java.lang equivalent objects should be used for built-in types.

        The JDBC specification specifies a standard mapping from Java Object types to SQL types. The given argument will be converted to the corresponding SQL type before being sent to the database.

        Note that this method may be used to pass database- specific abstract data types, by using a driver-specific Java type. If the object is of a class implementing the interface SQLData, the JDBC driver should call the method SQLData.writeSQL to write it to the SQL data stream. If, on the other hand, the object is of a class implementing Ref, Blob, Clob, Struct, or Array, the driver should pass it to the database as a value of the corresponding SQL type.

        This method throws an exception if there is an ambiguity, for example, if the object is of a class implementing more than one of the interfaces named above.

        Specified by:
        setObject in interface CallableStatement
        Parameters:
        the - name of the stored procedure formal parameter
        x - the object containing the input parameter value
        Throws:
        SQLException - if a database access error occurs or if the given Object parameter is ambiguous
        Since:
        9.0.2
        See Also:
        getObject(int, oracle.jdbc.OracleDataFactory)
      • setOracleObject

        void setOracleObject​(String parameterName,
                             Datum x)
                      throws SQLException
        Sets the designated parameter to an oracle.sql.Datumvalue.
        Parameters:
        the - name of the stored procedure formal parameter
        value - the parameter value
        Throws:
        SQLException - if a database access error occurs
      • registerOutParameterAtName

        void registerOutParameterAtName​(String parameterMarkerName,
                                        int sqlType)
                                 throws SQLException
        Special Oracle method to registerOutParameter by the parameterMarkerName of oracle style parameter markers instead of parameterIndex. Please note that it takes the name of the parameter marker and not the name of the parameter.
        Parameters:
        parameterMarkerName - The name of the oracle style parameter marker
        sqlType - a value from Types
        Throws:
        SQLException
      • registerOutParameterAtName

        void registerOutParameterAtName​(String parameterMarkerName,
                                        int sqlType,
                                        int scale)
                                 throws SQLException
        Special Oracle method to registerOutParameter by the parameterMarkerName of oracle style parameter markers instead of parameterIndex. Please note that it takes the name of the parameter marker and not the name of the parameter.
        Parameters:
        parameterMarkerName - The name of the oracle style parameter marker
        sqlType - a value from Types
        scale - the desired number of digits to the right of the decimal point. It must be greater than or equal to zero.
        Throws:
        SQLException
      • registerOutParameterAtName

        void registerOutParameterAtName​(String parameterMarkerName,
                                        int sqlType,
                                        String typeName)
                                 throws SQLException
        Special Oracle method to registerOutParameter by the parameterMarkerName of oracle style parameter markers instead of parameterIndex. Please note that it takes the name of the parameter marker and not the name of the parameter.
        Parameters:
        parameterMarkerName - The name of the oracle style parameter marker
        sqlType - a value from Types
        typeName - the fully-qualified name of an SQL structured type
        Throws:
        SQLException
    </section>