int sqlite3_finalize(sqlite3_stmt *pStmt);
sqlite3_finalize() 函数用于删除一个 准备好的语句。如果语句最近一次执行没有遇到错误,或者语句从未执行过,则 sqlite3_finalize() 返回 SQLITE_OK。如果语句 S 最近一次执行失败,则 sqlite3_finalize(S) 返回相应的 错误代码 或 扩展错误代码。
sqlite3_finalize(S) 例程可以在 准备好的语句 S 的生命周期的任何时间点调用:在语句 S 被执行之前,在一次或多次调用 sqlite3_reset() 之后,或者在任何调用 sqlite3_step() 之后,无论语句是否已完成执行。
在 NULL 指针上调用 sqlite3_finalize() 是一个无害的空操作。
应用程序必须最终确定每个 准备好的语句,以避免资源泄漏。应用程序尝试在准备好的语句被最终确定后使用它是一个严重错误。在准备好的语句被最终确定后使用它,可能会导致未定义的和不可预测的行为,例如段错误和堆损坏。