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()是无害的操作。
应用程序必须完成每个准备好的语句,以避免资源泄漏。应用程序在完成后尝试使用准备好的语句,这是一个严重的错误。在结束后使用任何准备好的语句都可能导致未定义的不良行为,例如segfaults和堆损坏。