type

Statement

src class Statement : Obj

Statement is an executable statement for a specific database. A statement may be executed immediately or prepared and executed later with parameters. See pod-doc.

fields

limit

Maximum number of rows returned when this statement is executed.

sql

The SQL text used to create this statement.

methods

close

Close the statement.

execute

Execute a SQL statement and if applicable return a result

executeBatch

Execute a batch of commands on a prepared Statement.

prepare

Prepare this statement by compiling for efficient execution.

query

Execute the statement and return the resulting List of Rows.

queryEach

Execute the statement.

queryEachWhile

Execute the statement.

Slot Details

close

src Void close()

Close the statement.

execute

src Obj execute([Str:Obj]? params := null)

Execute a SQL statement and if applicable return a result:

  • If the statement is a query or procedure which produces a result set, then return Row[]
  • If the statement is an insert and auto-generated keys are supported by the connector then return Int[] or Str[] of keys generated
  • Return an Int with the update count

executeBatch

src Int?[] executeBatch([Str:Obj]?[] paramsList)

Execute a batch of commands on a prepared Statement. If all commands execute successfully, returns an array of update counts.

For each element in the array, if the element is non-null, then it represents an update count giving the number of rows in the database that were affected by the command's execution.

If a given array element is null, it indicates that the command was processed successfully but that the number of rows affected is unknown.

If one of the commands in a batch update fails to execute properly, this method throws a SqlErr that wraps a java.sql.BatchUpdateException, and a JDBC driver may or may not continue to process the remaining commands in the batch, consistent with the underlying DBMS -- either always continuing to process commands or never continuing to process commands.

limit

src Int? limit

Maximum number of rows returned when this statement is executed. If limit is exceeded rows are silently dropped. A value of null indicates no limit.

prepare

src This prepare()

Prepare this statement by compiling for efficient execution. Return this.

query

src Row[] query([Str:Obj]? params := null)

Execute the statement and return the resulting List of Rows. The Cols are available from List.of.fields or on type.fields of each row instance.

queryEach

src Void queryEach([Str:Obj]? params, |Row| eachFunc)

Execute the statement. For each row in the result, invoke the specified function eachFunc.

queryEachWhile

src Obj? queryEachWhile([Str:Obj]? params, |Row->Obj?| eachFunc)

Execute the statement. For each row in the result, invoke the specified function eachFunc. If the function returns non-null, then break the iteration and return the resulting object. Return null if the function returns null for every item.

sql

src const Str sql

The SQL text used to create this statement.