以下 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 中的计算列一样使用它吗?
以下 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 中的计算列一样使用它吗?
它没有在 Z/OS 版本中实现。您可以在 SQL 手册中的“create table”SQL 语句下找到“default”允许的各种选项。有一个选项可以在列上定义 fieldproc,但它不会(并且做)你想要的(更多关于它的管理指南)。
CREATE TABLE Table1(c1 INT NOT NULL,TS INT NOT NULL 始终作为 IDENTITY 生成);
ROWID 类型(而不是 INT)的定义没有“AS IDENTITY”
为此使用触发器。查看“创建触发器”命令的 SQL 手册。如果您仅在插入行时需要它,那么“在插入触发器之前”就足够了。如果您也希望它进行更改,那么您还需要一个“更新触发器”。