Rumah >pangkalan data >tutorial mysql >Bagaimanakah Lajur Dikira Berfungsi dalam PostgreSQL, dan Apakah Alternatif Wujud dalam Versi Lama?

Bagaimanakah Lajur Dikira Berfungsi dalam PostgreSQL, dan Apakah Alternatif Wujud dalam Versi Lama?

Patricia Arquette
Patricia Arquetteasal
2025-01-21 17:06:14647semak imbas

How Do Computed Columns Work in PostgreSQL, and What Alternatives Exist in Older Versions?

Lajur yang dikira dalam PostgreSQL

PostgreSQL menyokong lajur yang dikira, juga dikenali sebagai lajur terhitung, lajur maya, lajur terbitan atau lajur terhasil, membolehkan anda membuat lajur yang nilainya diperoleh daripada lajur atau ungkapan lain.

Disokong dalam Postgres 12 atau lebih baru

Bermula dari versi 12, PostgreSQL memperkenalkan lajur yang dijana STORED, yang mematuhi piawaian SQL dan juga boleh didapati dalam DBMS seperti DB2, MySQL dan Oracle.

Imulasi dalam Postgres 11 atau lebih tua

Versi PostgreSQL sebelum 11 tidak menyokong lajur yang dijana secara asli. Walau bagaimanapun, adalah mungkin untuk mensimulasikan lajur yang dijana VIRTUAL menggunakan fungsi dengan tatatanda atribut. Sintaks ini serupa dengan gelagat lajur terjana maya dan menyediakan fungsi yang serupa.

Alternatif

Selain lajur yang dikira, PostgreSQL menyediakan mekanisme lain untuk mencapai hasil yang serupa:

  • Paparan: Paparan boleh ditakrifkan untuk mengandungi ungkapan pengiraan, tetapi keputusannya tidak menjadi kenyataan dan mesti dinilai pada setiap pertanyaan.
  • Pencetus: Pencetus boleh digunakan untuk "mengekalkan" nilai yang dikira, meniru gelagat lajur yang dijana STORED.
  • Paparan Terwujud: Diperkenalkan dalam Postgres 9.3, paparan terwujud membolehkan menyimpan hasil prakiraan untuk akses yang lebih pantas.

Atas ialah kandungan terperinci Bagaimanakah Lajur Dikira Berfungsi dalam PostgreSQL, dan Apakah Alternatif Wujud dalam Versi Lama?. 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