PostgreSQL 計算カラム: 代替案の検討
PostgreSQL ユーザーは、MS SQL Server などの他のデータベース管理システムによくある機能である計算列の可用性についてよく質問します。 PostgreSQL はまだ計算列をネイティブにサポートしていませんが、同様の機能を実現するためのさまざまな代替手段を提供しています。
生成された列の保存: PostgreSQL 12 以降
PostgreSQL 12 では、生成された列を保存するという概念が導入されています。これは SQL 標準に準拠し、DB2、MySQL、Oracle などの他の RDBMS でサポートされています。これらの列は STORED キーワードを使用して作成され、データの取得または挿入時に計算されます。
CREATE TABLE tbl ( int1 int , int2 int , product bigint GENERATED ALWAYS AS (int1 * int2) STORED );
仮想生成列: PostgreSQL 11 以前
PostgreSQL 11 以前では、真の仮想生成列はサポートされていません。ただし、ユーザーは属性表記のある関数を使用してその動作をシミュレートできます。この方法には、仮想的に生成された列の外観と機能を模倣する tbl.col 構文の使用が含まれます。
CREATE FUNCTION col(tbl) ... AS ... -- 您的计算表达式在此处
SELECT tbl.*, col(tbl) FROM tbl;
代替案
上記の方法に加えて、PostgreSQL ユーザーは同様の機能を実現する他の方法も検討できます。
PostgreSQL は現在ネイティブの計算列をサポートしていない可能性がありますが、その柔軟で強力な機能セットは、ユーザーのさまざまなニーズを満たすために同様の機能を実装するためのさまざまなソリューションを提供します。
以上がPostgreSQL の計算列: どのような代替案が存在しますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。