PostgreSQL 中的计算列
问:PostgreSQL 是否支持与 MS SQL Server 中类似的计算列?
答:是的,PostgreSQL 12 及更高版本引入了 STORED 生成列,它类似于 SQL Server 中的计算列。
PostgreSQL 12 或更高版本
支持 STORED 生成列,并遵循 SQL 标准。
示例:
<code class="language-sql"> CREATE TABLE tbl ( int1 int, int2 int, product bigint GENERATED ALWAYS AS (int1 * int2) STORED );</code>
PostgreSQL 11 或更低版本
不直接支持 生成列。
解决方法是使用带有属性表示法的函数,这模拟了虚拟生成列:
<code class="language-sql"> CREATE FUNCTION col(tbl) ... AS ... -- 计算表达式 CREATE INDEX ON tbl(col(tbl));</code>
替代方案
以上是PostgreSQL 是否像 SQL Server 一样支持计算列?的详细内容。更多信息请关注PHP中文网其他相关文章!