sql—如何在db2中使用名为id(主键)的额外列创建视图?

pb3skfrl  于 2021-08-09  发布在  Java
关注(0)|答案(1)|浏览(215)

有人能帮我从表中创建一个视图吗?我使用的是云上的ibm db2,我有一个包含以下列的表:

我想创建一个具有额外列id的视图,如下所示:

我需要这个列是唯一的,所以我认为添加一个新列作为标识。我必须提到这个视图返回了大量的数据,所以我需要一个性能良好的方法。我看过一些关于堆栈溢出的相关文章,但我发现它们适用于不同的数据库。如有任何建议,我们将不胜感激。

u5rb5r59

u5rb5r591#

您可以创建 sequence 并以id的形式调用序列。
在数据库中创建序列
在视图中调用序列并将其别名为id
创建序列:

CREATE SEQUENCE sequence_name 
INCREMENT BY 1 START WITH 1 
MAXVALUE 30 MINVALUE 0   -- As you required
NOCYCLE CACHE 10 ORDER;  -- As you required

正在调用查询:

select sequence_name.NEXTVAL, f_name, i_name, city, country from table;

如果你不想使用序列,你也可以这样使用 ROW_NUMBER() 在您的查询中

相关问题