当前位置: 首页 > 科技观察

DB2自增字段实现方法

时间:2023-03-12 12:25:37 科技观察

使用这个一般作为标识码,作为定义表的主键。生成的语法可以自定义你想要如何生成这个值的策略。语法如下:生成的列定义{always|默认情况下}作为{identityidentityrules|usingyourrules}我们先删除我们上次创建的表:db2=>droptablenomination然后创建一个表:复制代码代码如下:Createtablenomination(nominationIDBIGINTNotNullPrimaryKeygeneratedalwaysasidentity,nomineechar(6)NotNull,nominatorchar(6)NotNull,reasonVARCHAR(250),nomdatedateNotNull,categoryidINTEGERNotNull,check(nominee!=nominator)notenforced启用查询优化,ForeignKeyCategoryExists(categoryid)referencescategory(categoryid)ondeleterestrict)注意加粗的字体,以后我们将无法使用insert或update来显式指定它的值。DB2中的身份也提供了多种策略。具体可以查看DB2手册。举个例子:删除上次创建的表:db2=>droptablecategory然后创建表单Copycode代码如下:Createtablecategory(CategoryIDINTEGERPrimaryKeyGeneratedAlwaysasIdentity(StartWith1Incrementby1minvalue0maxvalue999999999nocyclecache5noorder),CateogryNameVARCHAR(50)NotNull,EligibilityVARCHAR(250))statementinidentityinbold可以在DB2手册中找到,在里面一目了然自然语言。有时你不只是想填充数字,你可能还想处理一些字母,那么下面这个转换大写的例子就适合你:db2=>altertablecategoryaddcolumnUpperCatNameVARCHAR(50)generatedalwaysas(upper(CategoryName))在DB2文档中有关于这些的具体说明。