我试过了:
CREATE TABLE rowid_type
(
col1 ROWID NOT NULL GENERATED ALWAYS,
col2 int
);
错误:
错误:DB2 SQL 错误:SQLCODE=-104,SQLSTATE=42601,SQLERRMC=始终生成;COL1 RODID 不为空;,驱动程序=4.14.111
SQL服务:42601
错误代码:-104
编辑
我提到了这个链接 - https://www.ibm.com/support/knowledgecenter/en/SSEPEK_10.0.0/com.ibm.db2z10.doc.apsg/src/tpc/db2z_specifydirectrowaccess.html?view=embed
它显示:
CREATE TABLE EMPLOYEE
(EMP_ROWID ROWID NOT NULL GENERATED ALWAYS,
EMPNO SMALLINT,
NAME CHAR(30),
SALARY DECIMAL(7,2),
WORKDEPT SMALLINT);
编辑2
- 产品名称 : DB2/LINUXX8664
- 版本 : 10.5.0.5
[我的答案适用于 DB2 LUW,该问题已更新,现在指向 DB2 for z/OS]
尝试这样的事情:
CREATE TABLE rowid_type
(
col1 int NOT NULL GENERATED ALWAYS AS IDENTITY,
col2 int
);
还有几个选项可用,例如设置开始值和停止值。有关详细信息,请参阅有关标识列的 DB2 文档。