如何在 DB2 中创建 ROWID 列

  • 本文关键字:创建 ROWID DB2 db2
  • 更新时间 :
  • 英文 :


我试过了:

  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 文档。

最新更新