Rumah >pangkalan data >tutorial mysql >Bagaimanakah Saya Boleh Meniru Lajur Dikira dalam PostgreSQL?
Mensimulasikan Lajur Dikira dalam PostgreSQL
Tidak seperti MS SQL Server, PostgreSQL tidak menyokong lajur yang dikira secara asli. Walau bagaimanapun, beberapa kaedah mereplikasi fungsi ini dengan berkesan.
PostgreSQL 12 dan Kemudian
PostgreSQL 12 memperkenalkan lajur yang dijana STORED, mencerminkan gelagat lajur yang dikira SQL Server. Lajur ini disimpan secara fizikal dalam jadual, mudah diakses semasa pertanyaan.
<code class="language-sql">CREATE TABLE tbl ( int1 int, int2 int, product bigint GENERATED ALWAYS AS (int1 * int2) STORED );</code>
PostgreSQL 11 dan Terdahulu
Untuk versi PostgreSQL yang lebih lama, mensimulasikan lajur terjana maya memerlukan fungsi dan notasi atribut.
Sintaks Fungsi:
<code class="language-sql">CREATE FUNCTION col(tbl) RETURNS type AS 'expression';</code>
Penggunaan:
<code class="language-sql">SELECT tbl.col, ... FROM tbl;</code>
Pendekatan ini meniru lajur terhasil maya; namun, ia tidak termasuk dalam SELECT *
.
Pendekatan Alternatif
SELECT *
mendapatkan semula kedua-dua lajur asal dan dikira.Pertimbangan Penting:
SELECT *
.IMMUTABLE
untuk mendayakan indeks ungkapan.Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Meniru Lajur Dikira dalam PostgreSQL?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!