SqlJs 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

Implements
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

Returns:
Type: 
String

["next"]() → {StatementIterator.StatementIteratorResult}

Prepare the next available SQL statement

Throws:

SQLite error or invalid iterator error

Type
String

Type Definitions

StatementIteratorResult

Type:
  • Object | Object
Properties
NameTypeDescription
valueStatement

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

doneboolean

true if there are no more available statements