Pisah Rentetan Diberi dan Sediakan Penyata Kes
Untuk mengemas kini jadual dengan cekap berdasarkan julat tarikh tertentu dan nama set yang sepadan, anda perlu memisahkan rentetan yang diberikan ke dalam komponen individu secara dinamik. Pendekatan ini membenarkan pengendalian parameter input berubah-ubah dan memastikan fleksibiliti dalam operasi kemas kini.
Memisahkan Julat Tarikh dan Menetapkan Nama
Tarikh Pemisahan Julat:
SELECT unnest(string_to_array(p_dates, ',')) AS date_range;
Nama Set Pisah:
SELECT unnest(string_to_array(p_sets, ',')) AS set_name;
Penyediaan Penyata Kes Dinamik
Setelah julat tarikh dan ditetapkan nama dibahagikan, pernyataan kes dinamik boleh dibina menggunakan yang berikut langkah:
Gelung Melalui Julat Tarikh:
Julat Ekstrak Sempadan:
Klausa Kes Bina:
Coretan kod berikut menunjukkan cara untuk menyediakan kes dinamik pernyataan:
PREPARE upd_tbl AS UPDATE table_name SET set_name = CASE WHEN given_date BETWEEN split_part(, 'to', 1)::date AND split_part(, 'to', 2)::date THEN ELSE null END;
Di mana:
Dengan melaksanakan pernyataan yang disediakan ini dengan julat_tarikh dan nama_set sebagai parameter, jadual boleh dikemas kini berdasarkan julat tarikh dan nama yang ditetapkan.
Atas ialah kandungan terperinci Bagaimana Mengemas kini Jadual Secara Dinamik Berdasarkan Julat Tarikh Pisah dan Tetapkan Nama Menggunakan Pernyataan Kes?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!