Rumah >pangkalan data >tutorial mysql >Bagaimanakah Saya Membuat dan Menggunakan Jadual Sementara dengan betul dalam PostgreSQL?

Bagaimanakah Saya Membuat dan Menggunakan Jadual Sementara dengan betul dalam PostgreSQL?

Barbara Streisand
Barbara Streisandasal
2025-01-01 11:42:10303semak imbas

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

Mencipta Jadual Sementara dalam SQL

Anda cuba mencipta jadual sementara, tetapi pertanyaan anda tidak berjaya. Inilah sebabnya:

Sintaks yang betul untuk mencipta jadual sementara menggunakan PostgreSQL ialah:

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

Ini melaksanakan pernyataan SELECT dan mencipta jadual sementara dengan data yang dipilih.

Dalam kes anda, tukar pertanyaan anda kepada:

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;

Ingat, jadual sementara boleh dilihat hanya dalam sesi semasa dan digugurkan pada penghujungnya. Untuk membuat jadual sementara yang jatuh pada penghujung transaksi, gunakan ON COMMIT DROP dan bukannya TEMP.

Jika anda memerlukan perwakilan dinamik data, pertimbangkan untuk menggunakan CREATE VIEW sebaliknya. Ia menyediakan paparan langsung data, mencerminkan perubahan yang dibuat pada jadual asas.

Sebagai alternatif, anda boleh menggunakan jadual terbitan (CTE) atau subkueri untuk tujuan pertanyaan tunggal. Pilihan ini datang dengan overhed yang lebih rendah berbanding dengan membuat jadual sementara.

Atas ialah kandungan terperinci Bagaimanakah Saya Membuat dan Menggunakan Jadual Sementara dengan betul dalam PostgreSQL?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn