0

假设我有表 A 和表 B。表 B 需要有一个列“atr1”来计算表 B 中有多少行,并且列数不能超过表中另一列中指定的常数B称为“atr2”。

我试过这样做:

    alter table B
    alter column atr1 type integer generated always as(count(*) from A) check (atr1 < atr2) not null;

但它给了我一个语法错误或接近生成。

4

1 回答 1

1

生成的列只能引用对表本身的列的计算。如果您需要知道来自不同表的计数,则需要创建一个视图。

于 2019-12-05T20:33:58.777 回答