Création de tables temporaires en SQL
Lorsqu'ils tentent de créer une table temporaire en sélectionnant des données basées sur un type de registre spécifique, les utilisateurs peuvent rencontrer des erreurs. Pour résoudre ce problème, il est crucial de comprendre la syntaxe correcte et ses limites.
Dans PostgreSQL, des tables temporaires peuvent être créées à l'aide de la syntaxe CREATE TEMP TABLE AS :
CREATE TEMP TABLE temp1 AS SELECT dataid , register_type , timestamp_localtime , read_value_avg FROM rawdata.egauge WHERE register_type LIKE '%gen%' ORDER BY dataid, timestamp_localtime;
Les tables temporaires agissent comme des instantanés statiques des données et résident dans la RAM si le paramètre temp_buffers le permet. Elles sont spécifiques à la session et disparaissent à la fin, à moins qu'elles ne soient créées avec ON COMMIT DROP, qui les supprime à la fin de la transaction.
Alternativement, les tables temporaires peuvent être créées dynamiquement à l'aide de CREATE VIEW. Cependant, leur comportement et leur utilisation diffèrent considérablement des tables temporaires statiques.
Bien que le standard SQL inclut SELECT INTO pour la création de tables temporaires, son utilisation est déconseillée au profit de CREATE TABLE AS . De plus, CREATE TABLE LIKE (...) copie uniquement la structure de la table et aucune donnée, tandis que les tables dérivées dans les CTE ou les sous-requêtes offrent moins de surcharge pour l'utilisation temporaire des données dans une seule requête.
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!