SQLite は、MS SQL とは異なり、ネイティブ変数構文をサポートしません。ただし、メモリ内一時テーブルを使用して、同様の機能をシミュレートできます。
まず、変数を保存するために「_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>
変数名を「_Variables」テーブルに挿入して、「VariableName」という名前の変数を宣言します。
<code class="language-sql">INSERT INTO _Variables (Name) VALUES ('VariableName');</code>
変数に値を代入します。この例では、整数を割り当てます:
<code class="language-sql">UPDATE _Variables SET IntegerValue = 42 WHERE Name = 'VariableName';</code>
変数に割り当てられた値を INSERT 操作で使用できるようになりました。次の式では、変数「VariableName」が 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>
完了したら、トランザクションを閉じることを忘れないでください:
<code class="language-sql">DROP TABLE _Variables; COMMIT;</code>
以上がSQLite 挿入で変数をシミュレートするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。