There are workarounds
it could be done using in memory temp table
Create in-memory temp table for variables
BEGIN
PRAGMA temp_store = 2;
CREATE TEMP TABLE _Variables(Name TEXT PRIMARY KEY, RealValue REAL, IntegerValue INTEGER, BlobValue BLOB, TextValue TEXT);
Declaring a variable
INSERT INTO [_Variables] ([Name]) VALUES ('VariableName');
Assigning a variable (pick the right storage class)
UPDATE [_Variables] SET [IntegerValue] = ... WHERE Name = 'VariableName';
Getting variable value (use within expression)
(SELECT coalesce(RealValue, IntegerValue, BlobValue, TextValue) FROM _Variables WHERE Name = 'VariableName' LIMIT 1)
DROP TABLE _Variables;
END;
Reference:[
^]