SQLite 缺乏原生變數支持,但我們可以使用臨時記憶體表有效地模擬變數行為——即使對於廣泛的專案來說,這也是一種強大的方法。
建立變數
首先,建立一個臨時表來保存變數名稱及其值:
<code class="language-sql">CREATE TEMP TABLE _Variables ( Name TEXT PRIMARY KEY, RealValue REAL, IntegerValue INTEGER, BlobValue BLOB, TextValue TEXT ); INSERT INTO _Variables (Name) VALUES ('MyVariable');</code>
這將建立 _Variables
,一個儲存各種資料類型的變數名稱及其值的臨時表。
賦值
依據資料型別分配值:
<code class="language-sql">UPDATE _Variables SET IntegerValue = 10 WHERE Name = 'MyVariable';</code>
使用變數
檢索表達式中變數的值:
<code class="language-sql">SELECT ..., (SELECT COALESCE(RealValue, IntegerValue, BlobValue, TextValue) FROM _Variables WHERE Name = 'MyVariable' LIMIT 1), ...</code>
COALESCE
根據資料型別智慧選擇適當的值。
刪除變數
使用後清潔:
<code class="language-sql">DROP TABLE _Variables;</code>
或者,當交易以 END;
結束時,臨時表會自動刪除。
以上是如何在 SQLite 中宣告、使用和釋放變數?的詳細內容。更多資訊請關注PHP中文網其他相關文章!