在LUW中正常时,生成的列不适用于z / os

时间:2018-10-03 14:19:33

标签: db2-zos

以下DDL对LUW有效。

CREATE TABLE three_a(
    c1   INTEGER NOT NULL,
    c2   INTEGER NOT NULL GENERATED ALWAYS AS c1 + 10
)

但是对于z / OS无效:

有什么主意如何实现GENERATED ALWAYS以使其像SQL Server中的计算列一样使用?

3 个答案:

答案 0 :(得分:1)

在Z / OS版本中未实现。您可以在SQL手册的“创建表” SQL语句下找到“默认”的各种允许选项。有一个选项可以在列上定义fieldproc,但它不是(不需要)您想要的(在管理指南中有更多内容)。

答案 1 :(得分:0)

创建表Table1(     c1 INT NOT NULL,     TS INT非空,始终作为身份生成 );

在没有“ AS IDENTITY”的情况下定义了ROWID类型(而不是INT)

答案 2 :(得分:0)

为此使用触发器。查看SQL手册中的“创建触发器”命令。 如果仅在插入行时需要它,则“在插入触发器之前”就足够了。 如果您还希望它进行更改,那么还需要一个“更新触发器”。