ホームページ > データベース > mysql チュートリアル > SQLite 挿入で変数をシミュレートするにはどうすればよいですか?

SQLite 挿入で変数をシミュレートするにはどうすればよいですか?

Susan Sarandon
リリース: 2025-01-10 19:21:42
オリジナル
277 人が閲覧しました

How Can I Simulate Variables in SQLite Inserts?

SQLite での INSERT ステートメントの変数のシミュレーション

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 ステートメントでの変数の使用

変数に割り当てられた値を 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 サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート