Rumah > pangkalan data > tutorial mysql > Bagaimana untuk Membuat Jadual Maya dalam PostgreSQL menggunakan `setof record`?

Bagaimana untuk Membuat Jadual Maya dalam PostgreSQL menggunakan `setof record`?

Mary-Kate Olsen
Lepaskan: 2024-12-24 21:18:35
asal
176 orang telah melayarinya

How to Create Virtual Tables in PostgreSQL using `setof record`?

Mencipta Jadual Maya dengan setof rekod dalam PostgreSQL

Artikel ini mendalami tentang mencipta jadual maya menggunakan pendekatan setof rekod dalam PostgreSQL. Jadual maya tidak mempunyai storan data asasnya sendiri; sebaliknya, ia adalah perwakilan data sementara berdasarkan parameter atau pengiraan yang diluluskan.

Untuk mencipta jadual maya yang mengembalikan tiga lajur dan bilangan baris yang tidak diketahui, gunakan fungsi PL/pgSQL berikut:

CREATE OR REPLACE FUNCTION f_foo()
  RETURNS TABLE (a int, b int, c int) AS
$func$
BEGIN
RETURN QUERY VALUES
  (1,2,3)
, (3,4,5)
, (3,4,5)
;
END
$func$  LANGUAGE plpgsql IMMUTABLE ROWS 3;
Salin selepas log masuk

Fungsi ini menggunakan klausa RETURNS TABLE untuk menentukan jenis baris yang dikembalikan oleh fungsi tersebut. Perintah RETURN QUERY menjana berbilang baris menggunakan ungkapan VALUES. Klausa IMMUTABLE dan ROWS 3 mengoptimumkan fungsi untuk prestasi.

Untuk menggunakan jadual maya, hanya panggil fungsi:

SELECT * FROM f_foo();
Salin selepas log masuk

Selain itu, anda boleh membina jadual maya menggunakan pernyataan SQL biasa :

VALUES (1,2,3), (3,4,5), (3,4,5)
Salin selepas log masuk

Untuk kes yang lebih kompleks, tentukan nama lajur dan jenis:

SELECT *
FROM  (
   VALUES (1::int, 2::int, 3::int)
        , (3, 4, 5)
        , (3, 4, 5)
   ) AS t(a, b, c);
Salin selepas log masuk

Akhir sekali, rangkumkan penciptaan jadual maya ke dalam fungsi SQL:

CREATE OR REPLACE FUNCTION f_foo()
   RETURNS TABLE (a int, b int, c int) AS
$func$
   VALUES (1, 2, 3)
        , (3, 4, 5)
        , (3, 4, 5);
$func$  LANGUAGE sql IMMUTABLE ROWS 3;
Salin selepas log masuk

Dengan melaksanakan pendekatan ini, anda boleh mencipta jadual maya dalam PostgreSQL dengan berkesan, membolehkan fleksibiliti dan penyesuaian dalam pemprosesan data.

Atas ialah kandungan terperinci Bagaimana untuk Membuat Jadual Maya dalam PostgreSQL menggunakan `setof record`?. 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