SQLite, contrairement à MS SQL, ne prend pas en charge la syntaxe native des variables. Toutefois, vous pouvez utiliser des tables temporaires en mémoire pour simuler des fonctionnalités similaires.
Tout d'abord, créez une table temporaire en mémoire nommée "_Variables" pour stocker vos variables :
<code class="language-sql">BEGIN; PRAGMA temp_store = 2; /* 使用内存存储 */ CREATE TEMP TABLE _Variables(Name TEXT PRIMARY KEY, RealValue REAL, IntegerValue INTEGER, BlobValue BLOB, TextValue TEXT);</code>
Déclarez une variable nommée "VariableName" en insérant le nom de la variable dans la table "_Variables" :
<code class="language-sql">INSERT INTO _Variables (Name) VALUES ('VariableName');</code>
Attribuez des valeurs à vos variables. Dans cet exemple, nous lui attribuerons un entier :
<code class="language-sql">UPDATE _Variables SET IntegerValue = 42 WHERE Name = 'VariableName';</code>
Vous pouvez désormais utiliser la valeur attribuée à une variable dans une opération INSERT. Dans l'expression suivante, la variable « VariableName » est utilisée dans la clause WHERE :
<code class="language-sql">INSERT INTO Table1 (Column1, Column2) SELECT Column1, Column2 FROM Table2 WHERE Column1 > (SELECT COALESCE(RealValue, IntegerValue, BlobValue, TextValue) FROM _Variables WHERE Name = 'VariableName' LIMIT 1);</code>
Lorsque vous avez terminé, n'oubliez pas de clôturer la transaction :
<code class="language-sql">DROP TABLE _Variables; COMMIT;</code>
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!