小巧、快速、可靠。
選擇其中三項。

SQLite C 介面

準備 Flags (旗標)

#define SQLITE_PREPARE_PERSISTENT              0x01
#define SQLITE_PREPARE_NORMALIZE               0x02
#define SQLITE_PREPARE_NO_VTAB                 0x04

這些常數定義了各種旗標,可以傳遞給 sqlite3_prepare_v3()sqlite3_prepare16_v3() 介面的 "prepFlags" 參數。

在未來的 SQLite 版本中可能會新增新的旗標。

SQLITE_PREPARE_PERSISTENT
SQLITE_PREPARE_PERSISTENT 旗標是給查詢規劃器的提示,表示準備好的語句將會被保留很長一段時間,並且可能會被重複使用多次。如果沒有這個旗標,sqlite3_prepare_v3()sqlite3_prepare16_v3() 會假設準備好的語句只會被使用一次或最多幾次,然後很快就會使用 sqlite3_finalize() 銷毀。目前的實作方式是根據這個提示避免使用 旁路記憶體 (lookaside memory),以免耗盡有限的旁路記憶體儲存空間。未來的 SQLite 版本可能會以不同的方式處理這個提示。

SQLITE_PREPARE_NORMALIZE
SQLITE_PREPARE_NORMALIZE 旗標目前沒有作用。這個旗標過去曾是任何想要使用 sqlite3_normalized_sql() 介面的準備好的語句所必需的。然而,現在所有準備好的語句都可以使用 sqlite3_normalized_sql() 介面,無論它們是否使用這個旗標。

SQLITE_PREPARE_NO_VTAB
SQLITE_PREPARE_NO_VTAB 旗標會導致 SQL 編譯器在語句使用任何虛擬表格時返回錯誤(錯誤碼 SQLITE_ERROR)。

另請參閱 物件常數函式 列表。