AS400 DB2:创建一个带有DDS和autoincrement字段的表
大家早上好 我使用此DDS创建文件(表): 我想将字段D06IDUNT定义为唯一的自动增量AS400 DB2:创建一个带有DDS和autoincrement字段的表,db2,auto-increment,ibm-midrange,Db2,Auto Increment,Ibm Midrange,大家早上好 我使用此DDS创建文件(表): 我想将字段D06IDUNT定义为唯一的自动增量 您知道吗?如果您使用SQL定义表,您可以执行以下操作: 在DB2中创建表的更多示例: 如果使用SQL定义表,则可以执行以下操作: 在DB2中创建表的更多示例: 不能使用DDS创建自动增量。您必须使用SQLDDL 从应用程序的角度来看,用DDS创建的文件和用SQL创建的文件没有区别 IBM在Navigator GUI中提供了为任何基于SQL的对象生成SQL DDL的功能,以及生成PF和LF的DDS 我获
您知道吗?如果您使用SQL定义表,您可以执行以下操作: 在DB2中创建表的更多示例:
如果使用SQL定义表,则可以执行以下操作: 在DB2中创建表的更多示例:
不能使用DDS创建自动增量。您必须使用SQLDDL 从应用程序的角度来看,用DDS创建的文件和用SQL创建的文件没有区别 IBM在Navigator GUI中提供了为任何基于SQL的对象生成SQL DDL的功能,以及生成PF和LF的DDS 我获取了您的DDS,创建了文件,并检索了以下SQL DDL:
CREATE TABLE MYLIB.AUTDAF06 (
-- SQL150B 10 REUSEDLT(*NO) in table AUTDAF06 in MYLIB ignored.
-- SQL1506 30 Key or attribute for AUTDAF06 in MYLIB ignored.
D06IDUNT NUMERIC(2, 0) NOT NULL DEFAULT 0 ,
D06DESUN CHAR(30) CCSID 37 NOT NULL DEFAULT '' ,
D06CDUNT CHAR(3) CCSID 37 NOT NULL DEFAULT '' ,
D06CRTTI TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ,
D06CRTUS CHAR(30) CCSID 37 NOT NULL DEFAULT '' ,
D06UPDTI TIMESTAMP DEFAULT NULL ,
D06UPDUS CHAR(30) CCSID 37 NOT NULL DEFAULT '' ,
D06DELTI TIMESTAMP DEFAULT NULL ,
D06DELUS CHAR(30) CCSID 37 NOT NULL DEFAULT '' )
RCDFMT AUTDAF06 ;
LABEL ON TABLE MYLIB.AUTDAF06
IS 'SO Example' ;
LABEL ON COLUMN MYLIB.AUTDAF06
( D06IDUNT TEXT IS 'ID UNIT' ,
D06DESUN TEXT IS 'UNIT DESCRIPTION' ,
D06CDUNT TEXT IS 'CODE UNIT' ,
D06CRTTI TEXT IS 'CREATION TIMESTAMP' ,
D06CRTUS TEXT IS 'CREATION USER' ,
D06UPDTI TEXT IS 'UPDATE TIMESTAMP' ,
D06UPDUS TEXT IS 'UPDATE USER' ,
D06DELTI TEXT IS 'DELETE TIMESTAMP' ,
D06DELUS TEXT IS 'DELETE USER' ) ;
GRANT DELETE , INSERT , SELECT , UPDATE
ON MYLIB.AUTDAF06 TO PUBLIC ;
GRANT ALTER , DELETE , INDEX , INSERT , REFERENCES , SELECT , UPDATE
ON MYLIB.AUTDAF06 TO MYLIB WITH GRANT OPTION ;
注意错误消息:--SQL1506 30忽略MYLIB中AUTDAF06的键或属性
SQL不支持具有非唯一键的表。您的DDS没有指定
UNIQUE
关键字。假设您的帖子中没有这个选项,您只需在创建表期间通过SQL将D06IDUNT、D06DESUN、D06CDUNT指定为主键即可 不能使用DDS创建自动增量。您必须使用SQLDDL
从应用程序的角度来看,用DDS创建的文件和用SQL创建的文件没有区别
IBM在Navigator GUI中提供了为任何基于SQL的对象生成SQL DDL的功能,以及生成PF和LF的DDS
我获取了您的DDS,创建了文件,并检索了以下SQL DDL:
CREATE TABLE MYLIB.AUTDAF06 (
-- SQL150B 10 REUSEDLT(*NO) in table AUTDAF06 in MYLIB ignored.
-- SQL1506 30 Key or attribute for AUTDAF06 in MYLIB ignored.
D06IDUNT NUMERIC(2, 0) NOT NULL DEFAULT 0 ,
D06DESUN CHAR(30) CCSID 37 NOT NULL DEFAULT '' ,
D06CDUNT CHAR(3) CCSID 37 NOT NULL DEFAULT '' ,
D06CRTTI TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ,
D06CRTUS CHAR(30) CCSID 37 NOT NULL DEFAULT '' ,
D06UPDTI TIMESTAMP DEFAULT NULL ,
D06UPDUS CHAR(30) CCSID 37 NOT NULL DEFAULT '' ,
D06DELTI TIMESTAMP DEFAULT NULL ,
D06DELUS CHAR(30) CCSID 37 NOT NULL DEFAULT '' )
RCDFMT AUTDAF06 ;
LABEL ON TABLE MYLIB.AUTDAF06
IS 'SO Example' ;
LABEL ON COLUMN MYLIB.AUTDAF06
( D06IDUNT TEXT IS 'ID UNIT' ,
D06DESUN TEXT IS 'UNIT DESCRIPTION' ,
D06CDUNT TEXT IS 'CODE UNIT' ,
D06CRTTI TEXT IS 'CREATION TIMESTAMP' ,
D06CRTUS TEXT IS 'CREATION USER' ,
D06UPDTI TEXT IS 'UPDATE TIMESTAMP' ,
D06UPDUS TEXT IS 'UPDATE USER' ,
D06DELTI TEXT IS 'DELETE TIMESTAMP' ,
D06DELUS TEXT IS 'DELETE USER' ) ;
GRANT DELETE , INSERT , SELECT , UPDATE
ON MYLIB.AUTDAF06 TO PUBLIC ;
GRANT ALTER , DELETE , INDEX , INSERT , REFERENCES , SELECT , UPDATE
ON MYLIB.AUTDAF06 TO MYLIB WITH GRANT OPTION ;
注意错误消息:--SQL1506 30忽略MYLIB中AUTDAF06的键或属性
SQL不支持具有非唯一键的表。您的DDS没有指定UNIQUE
关键字。假设您的帖子中没有这个选项,您只需在创建表期间通过SQL将D06IDUNT、D06DESUN、D06CDUNT指定为主键即可 谢谢你的回复。正如你所说,使用DDS是没有办法做到的。只有SQL帮助我做到这一点。感谢您的回复。正如你所说,使用DDS是没有办法做到的。只有SQL帮助我做到这一点。感谢您的反馈。如上所述,我对DDS解决方案感兴趣。但是没有办法用它来做到这一点。祝你今天愉快。谢谢你的反馈。如上所述,我对DDS解决方案感兴趣。但是没有办法用它来做到这一点。祝您今天过得愉快。