Maison >base de données >tutoriel mysql >Comment créer et utiliser correctement des tables temporaires dans PostgreSQL ?

Comment créer et utiliser correctement des tables temporaires dans PostgreSQL ?

Barbara Streisand
Barbara Streisandoriginal
2025-01-01 11:42:10307parcourir

How Do I Correctly Create and Use Temporary Tables in PostgreSQL?

Création de tables temporaires en SQL

Vous essayez de créer une table temporaire, mais votre requête ne fonctionne pas. Voici pourquoi :

La syntaxe correcte pour créer une table temporaire à l'aide de PostgreSQL est :

CREATE TEMP TABLE table_name AS
SELECT columns FROM table WHERE conditions;

Cela exécute l'instruction SELECT et crée une table temporaire avec les données sélectionnées.

Dans votre cas, modifiez votre requête en :

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;

N'oubliez pas que les tables temporaires ne sont visibles que dans la session en cours et sont supprimées à la fin de celui-ci. Pour créer une table temporaire qui est supprimée à la fin d'une transaction, utilisez ON COMMIT DROP au lieu de TEMP.

Si vous avez besoin d'une représentation dynamique des données, envisagez plutôt d'utiliser CREATE VIEW. Il fournit une vue en direct des données, reflétant les modifications apportées aux tables sous-jacentes.

Vous pouvez également utiliser une table dérivée (CTE) ou une sous-requête à des fins de requête unique. Ces options entraînent une surcharge inférieure à celle de la création d'une table temporaire.

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