Maison >base de données >tutoriel mysql >Comment déclarer, utiliser et désallouer des variables dans SQLite ?

Comment déclarer, utiliser et désallouer des variables dans SQLite ?

Mary-Kate Olsen
Mary-Kate Olsenoriginal
2025-01-10 19:16:42509parcourir

How Do I Declare, Use, and Deallocate Variables in SQLite?

Simulation de variables dans SQLite à l'aide de tables temporaires

SQLite ne prend pas en charge les variables natives, mais nous pouvons imiter efficacement le comportement des variables à l'aide de tables temporaires en mémoire, une méthode robuste même pour les projets étendus.

Création d'une variable

Tout d'abord, créez une table temporaire pour contenir les noms de variables et leurs valeurs :

<code class="language-sql">CREATE TEMP TABLE _Variables (
  Name TEXT PRIMARY KEY,
  RealValue REAL,
  IntegerValue INTEGER,
  BlobValue BLOB,
  TextValue TEXT
);

INSERT INTO _Variables (Name) VALUES ('MyVariable');</code>

Cela établit _Variables, une table temporaire stockant les noms de variables et leurs valeurs dans différents types de données.

Attribuer une valeur

Attribuez des valeurs en fonction de leur type de données :

<code class="language-sql">UPDATE _Variables SET IntegerValue = 10 WHERE Name = 'MyVariable';</code>

Utiliser une variable

Récupérer la valeur de la variable dans les expressions :

<code class="language-sql">SELECT ..., (SELECT COALESCE(RealValue, IntegerValue, BlobValue, TextValue) FROM _Variables WHERE Name = 'MyVariable' LIMIT 1), ...</code>

COALESCE sélectionne intelligemment la valeur appropriée en fonction de son type de données.

Supprimer une variable

Nettoyer après utilisation :

<code class="language-sql">DROP TABLE _Variables;</code>

Alternativement, les tables temporaires sont automatiquement supprimées lorsqu'une transaction se termine par END;.

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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn