Rumah > pangkalan data > tutorial mysql > Bagaimana untuk Membuat Jadual PostgreSQL Secara Dinamik Menggunakan String sebagai Nama Jadual?

Bagaimana untuk Membuat Jadual PostgreSQL Secara Dinamik Menggunakan String sebagai Nama Jadual?

Mary-Kate Olsen
Lepaskan: 2024-12-24 08:22:19
asal
527 orang telah melayarinya

How to Dynamically Create PostgreSQL Tables Using a String as the Table Name?

Secara Dinamik Menggunakan Rentetan yang Dikembalikan sebagai Nama Jadual dalam PostgreSQL

Dalam PostgreSQL, anda mungkin menghadapi senario di mana anda perlu menjana nama jadual secara dinamik daripada hasil pertanyaan . Ini boleh dicapai dengan memanfaatkan pernyataan EXECUTE dalam kombinasi dengan PL/PgSQL.

Untuk mencapainya, anda boleh menggunakan langkah berikut:

  1. Sertakan pernyataan SQL dinamik dalam blok DO atau PL/PgSQL fungsi:

    DO
    $$
    BEGIN
    EXECUTE format(
        'CREATE TABLE %I AS SELECT * FROM backup',
        'backup_' || to_char(CURRENT_DATE, 'yyyy-mm-dd')
    );
    END;
    $$ LANGUAGE plpgsql;
    Salin selepas log masuk
  2. Gunakan penentu format:
    Fungsi format() menyediakan %I (pengecam) dan %L (harfiah) penentu format untuk petikan yang betul bagi pengecam dan literal, masing-masing.

    Dalam contoh ini, %I mengelilingi nama jadual 'backup_' || to_char(CURRENT_DATE, 'yyyy-mm-dd') dengan petikan berganda, memastikan ia dikenali dengan betul sebagai pengecam.

  3. Laksanakan pernyataan:
    Pernyataan EXECUTE secara dinamik melaksanakan pernyataan SQL yang dijana.

Dengan mengikuti ini langkah, anda boleh mencipta jadual secara dinamik menggunakan rentetan yang dikembalikan daripada pertanyaan dalam PostgreSQL.

Atas ialah kandungan terperinci Bagaimana untuk Membuat Jadual PostgreSQL Secara Dinamik Menggunakan String sebagai Nama Jadual?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan