【发布时间】:2021-05-23 17:50:00
【问题描述】:
我在 Postgres 中有一个包含以下列的表:
表定义:
名字 varchar(255)|姓氏 varchar(255)|全名 varchar(255)
我想要做的是像这样将以下生成的约束添加到 FullName 列
(FullName varchar(255) generated always as (FirstName || LastName) stored)。可用于使 FullName 成为生成列的正确 alter table 命令是什么?
一些上下文:我正在将一个数据库从 SQL Server 迁移到 Postgres,SQL Server 中的一个表有一个生成的列,定义如下 (ColumnName varchar(255) as (column1 + column2) persisted)
Postgres 中的该列定义为 (ColumnName varchar(255) generated always as (column1 || column2) stored) 问题是,当我使用迁移工具迁移数据时,我遇到与正在生成的列相关的错误,所以我打算做的是创建没有生成的表约束然后将数据迁移到 postgres 表,之后使用 alter table 我将更改列以生成生成的约束
【问题讨论】:
标签: sql sql-server postgresql database-migration generated-columns