SQL Query

  • simple querymit genau 1 resultset
    1. query: cx, src, retOk, rsVars
    2. setRSVars: cx, rsVars, rsCode
      1. 'n' no vars
      2. 'd' describe output - no vars
      3. '' default from describe output mit ? Logik
      4. ?col → :col :col.sqlInd and logic für sqlNull
      5. unchanged to db2
    3. fetch: cx, dst, retOk
    4. close
  • update: src, retOk: ohne Resultset, execute oder executeImmediate
  • execute: cx, src, retOk, rsVars: 0-n resultsets
    1. getMoreResults
  • queryPrepare cx, src, retOk, rsVars
    1. queryWithArgs cx, args...
    2. fetch (close gehört zu prepare nicht args
  • updatePrepare cx, src, retOk
    1. updateWithArgs cx, args ...
  • executePrepare: : cx, src, retOk, rsVars

java

  • statement
    • execute: sql ⇒ updateCount or resultSet(s)
    • getMoreResults ⇒ move to next resultSet
    • executeQuery: wie execute, für single resultSet
    • executeUpdate: wie execute, ohne resultSet
    • addBatch, executeBatch ...
  • preparedStatement: sql
    • execute* ohne sql Parameters, dafür setParameter Methoden
  • CallableStatement: subclass von preparedStatement für call