Class: StatementIterator

An iterator over multiple SQL statements in a string, preparing and returning a Statement object for the next SQL statement on each iteration.

You can't instantiate this class directly, you have to use a Database object in order to create a statement iterator

{@see Database#iterateStatements}

Constructor

new StatementIterator(sql, db)

Parameters:

NameTypeDescription
sqlstring

A string containing multiple SQL statements

dbDatabase

The database from which this iterator was created

Example

// loop over and execute statements in string sql
for (let statement of db.iterateStatements(sql) {
    statement.step();
    // get results, etc.
    // do not call statement.free() manually, each statement is freed
    // before the next one is parsed
}

// capture any bad query exceptions with feedback
// on the bad sql
let it = db.iterateStatements(sql);
try {
    for (let statement of it) {
        statement.step();
    }
} catch(e) {
    console.log(
        `The SQL string "${it.getRemainingSQL()}" ` +
        `contains the following error: ${e}`
    );
}

Methods

getRemainingSQL() → {String}

Get any un-executed portions remaining of the original SQL string

next() → {StatementIterator.StatementIteratorResult}

Prepare the next available SQL statement

Throws:

SQLite error or invalid iterator error

Type
String

Type Definitions

StatementIteratorResult

Properties
NameTypeDescription
valueStatement

the next available Statement (as returned by Database.prepare)

doneboolean

true if there are no more available statements