stmt:step
Executes a previously-prepared SQL statement
Prototype
stmt:step()
Description
This function must be called to evaluate the (next iteration of the) prepared statement stmt. It will return one of the following values:
sqlite3.BUSY: the engine was unable to acquire the locks needed. If the statement is a COMMIT or occurs outside of an explicit transaction, then you can retry the statement. If the statement is not a COMMIT and occurs within a explicit transaction then you should rollback the transaction before continuing.
sqlite3.DONE: the statement has finished executing successfully. stmt:step() should not be called again on this statement without first calling stmt:reset() to reset the virtual machine back to the initial state.
sqlite3.ROW: this is returned each time a new row of data is ready for processing by the caller. The values may be accessed using the column access functions. stmt:step() can be called again to retrieve the next row of data.
sqlite3.ERROR: a run-time error (such as a constraint violation) has occurred. stmt:step() should not be called again. More information may be found by calling db:errmsg(). A more specific error code (can be obtained by calling stmt:reset().
sqlite3.MISUSE: the function was called inappropriately, perhaps because the statement has already been finalized or a previous call to stmt:step() has returned sqlite3.ERROR or sqlite3.DONE.
sqlite3.BUSY: the engine was unable to acquire the locks needed. If the statement is a COMMIT or occurs outside of an explicit transaction, then you can retry the statement. If the statement is not a COMMIT and occurs within a explicit transaction then you should rollback the transaction before continuing.
sqlite3.DONE: the statement has finished executing successfully. stmt:step() should not be called again on this statement without first calling stmt:reset() to reset the virtual machine back to the initial state.
sqlite3.ROW: this is returned each time a new row of data is ready for processing by the caller. The values may be accessed using the column access functions. stmt:step() can be called again to retrieve the next row of data.
sqlite3.ERROR: a run-time error (such as a constraint violation) has occurred. stmt:step() should not be called again. More information may be found by calling db:errmsg(). A more specific error code (can be obtained by calling stmt:reset().
sqlite3.MISUSE: the function was called inappropriately, perhaps because the statement has already been finalized or a previous call to stmt:step() has returned sqlite3.ERROR or sqlite3.DONE.
Lua functions
- context:aggregate_count - Returns the number of calls to the aggregate step function.
- context:get_aggregate_data - Returns the user-definable data field for callback functions.
- context:result - This function sets the result of a callback function to res.
- context:result_blob - This function sets the result of a callback function to the binary string in blob.
- context:result_error - This function sets the result of a callback function to the error value in err.
- context:result_int - This function sets the result of a callback function to the integer value in number
- context:result_null - This function sets the result of a callback function to nil.
- context:result_number - This function sets the result of a callback function to the value number.
- context:result_text - This function sets the result of a callback function to the string in str.
- context:set_aggregate_data - Set the user-definable data field for callback functions to udata.
- context:user_data - Returns the userdata parameter given in the call to install the callback function.
- db:busy_handler - Sets or removes a busy handler for a database
- db:busy_timeout - Sets a busy handler
- db:changes - Returns number of changes by the most recent SQL statement
- db:close - Closes a database
- db:close_vm - Finalizes all statements that have not been explicitly finalized
- db:create_aggregate - Creates an aggregate callback function
- db:create_collation - Creates a collation callback
- db:create_function - Creates a callback function
- db:errcode - Returns the most recent result code
- db:errmsg - Returns the most recent error message
- db:exec - Executes SQL statements
- db:interrupt - Interrupts any pending operation
- db:isopen - Tests if the database is open
- db:last_insert_rowid - Returns the key of the most recent insert into the database
- db:nrows - Creates an iterator that returns a table of rows from a SELECT - keyed by name
- db:prepare - Compiles an SQL statement
- db:progress_handler - Installs a progress callback function
- db:rows - Creates an iterator that returns a table of rows from a SELECT - numerically keyed
- db:total_changes - Returns total number of changes
- db:trace - Installs debug trace callback
- db:urows - Creates an iterator that returns the rows from a SELECT
- sqlite3.complete - Checks for a complete SQL statement
- sqlite3.open - Opens or creates a database
- sqlite3.open_memory - Opens a database in memory
- sqlite3.version - Returns the SQLite version
- stmt:bind - Binds a value to a parameter
- stmt:bind_blob - Binds a blob to a parameter
- stmt:bind_names - Binds values in a table to parameters
- stmt:bind_parameter_count - Returns the largest parameter index
- stmt:bind_parameter_name - Returns the name of the n'th paremeter
- stmt:bind_values - Binds values to parameters
- stmt:columns - Returns number of columns in the result set
- stmt:finalize - Frees a prepared statement
- stmt:get_name - Returns the name of a column in a result set
- stmt:get_named_types - Returns a table of names and types for the columns in a result set
- stmt:get_named_values - Returns a table of names and values for the columns in a result set
- stmt:get_names - Returns a table of the names of all columns in a result set
- stmt:get_type - Returns the type of a column in a result set
- stmt:get_types - Returns a table of the types of all columns in a result set
- stmt:get_unames - Returns a list of names of the columns in a result set
- stmt:get_utypes - Returns a list of types of the columns in a result set
- stmt:get_uvalues - Returns a list of values of the columns in a result set
- stmt:get_value - Returns the value of a column in a result set
- stmt:get_values - Returns a table of the values of all columns in a result set
- stmt:isopen - Checks if the statement is open
- stmt:nrows - Creates an iterator that returns a table of rows from a SELECT - keyed by name
- stmt:reset - Resets an SQL statement, so it can be executed again
- stmt:rows - Creates an iterator that returns a table of rows from a SELECT - numerically keyed
- stmt:urows - Creates an iterator that returns the rows from a SELECT