title: What does this mean? (java,database)
body: <pre><code> StringBuffer sql = new StringBuffer("{ call ? := mailmerge_package.getLetters(?, ?, ?)}");
  </code></pre>
  
  <p>I know it's like an sql statement but theres no such thing as 'call' in SQL.</p>
  
  <p>Can someone explain to me what it means and how does it come to be understood by Java</p>
  
  <p>EDIT:</p>
  
  <pre><code>import oracle.jdbc.driver.OracleTypes;
  //omitted code
  CallableStatement cs = null;
          ResultSet rs = null;
       StringBuffer sql = new StringBuffer("{ call ? := mailmerge_package.getLetters(?, ?, ?)}");
   try {
              cs = conn.prepareCall(sql.toString());
              cs.registerOutParameter(1, OracleTypes.CURSOR);
              DAOUtils.setLong(cs, 3, checklistAnsMastId);
              DAOUtils.setLong(cs, 2, workEntityId);
              cs.setLong(4, patientId);
              DAOUtils.setLong(cs, 5, encounterId);
              cs.setString(6, encounterType);
              cs.execute();
              rs = (ResultSet)cs.getObject(1);
  </code></pre>