生成的列不适用于 z/os,但在 LUW 中可以
Generated column doesn't work for z/os while it is ok in LUW
以下 DDL 对 LUW 有效。
CREATE TABLE three_a(
c1 INTEGER NOT NULL,
c2 INTEGER NOT NULL GENERATED ALWAYS AS c1 + 10
)
但它对 z/OS 无效:
知道如何实现 GENERATED ALWAYS
以像 SQL 服务器中的计算列一样使用它吗?
创建 TABLE 表 1 (
c1 INT 不为空,
TS INT NOT NULL 始终作为身份生成
);
ROWID 类型(而不是 INT)定义时没有 "AS IDENTITY"
为此使用触发器。查看 SQL 手册以了解 "create trigger" 命令。
如果您只在插入行时需要它,那么 "before insert trigger" 就足够了。
如果您也想要它进行更改,那么您还需要一个 "update trigger"。
Z/OS 版本中未实现。您可以在 "create table" SQL 语句下的 SQL 手册中找到 "default" 允许的各种选项。有一个选项可以在列上定义 fieldproc,但它不会(也不会做)你想要的(更多信息在管理指南中)。
以下 DDL 对 LUW 有效。
CREATE TABLE three_a(
c1 INTEGER NOT NULL,
c2 INTEGER NOT NULL GENERATED ALWAYS AS c1 + 10
)
但它对 z/OS 无效:
知道如何实现 GENERATED ALWAYS
以像 SQL 服务器中的计算列一样使用它吗?
创建 TABLE 表 1 ( c1 INT 不为空, TS INT NOT NULL 始终作为身份生成 );
ROWID 类型(而不是 INT)定义时没有 "AS IDENTITY"
为此使用触发器。查看 SQL 手册以了解 "create trigger" 命令。 如果您只在插入行时需要它,那么 "before insert trigger" 就足够了。 如果您也想要它进行更改,那么您还需要一个 "update trigger"。
Z/OS 版本中未实现。您可以在 "create table" SQL 语句下的 SQL 手册中找到 "default" 允许的各种选项。有一个选项可以在列上定义 fieldproc,但它不会(也不会做)你想要的(更多信息在管理指南中)。