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