3.3. CallableStatement


NEXT | PREVIOUS | CONTENT

Ein CallableStatement ...

{call procedure_name[(?, ?, . . .)]}      // "[", "]" kennzeichnen
{? = call procedure_name[(?, ?, . . .)]}  // optionale Bestandteile

CallableStatement callStatement =
  connection.prepareCall("{call getTestData(?, ?)}");
// ob die "?" IN-, OUT- oder INOUT-Parameter sind,
// haengt von der Stored Procedure "getTestData" ab

Parameterübergabe:

CallableStatement callStatement =
  connection.prepareCall("{call getTestData(?, ?)}");

// erster Parameter ist ein INOUT-Parameter
callStatement.setByte(1, 47);
callStatement.registerOutParameter(1, java.sql.Types.TINYINT);

// zweiter Parameter ist ein OUT-Parameter
callStatement.registerOutParameter(2, java.sql.Types.DECIMAL, 3);

callStatement.executeQuery();

byte x = callStatement.getByte(1);
BigDecimal n = callStatement.getBigDecimal(2, 3);
  // java.math.BigDecimal mit 3 Nachkommastellen