db2中的增量Varchar

db2中的增量Varchar,db2,increment,varchar,Db2,Increment,Varchar,当我添加新行时,我试图在db2表中增加一个varchar,但是因为该列不仅仅是整数数据,所以我遇到了困难,而且还没有找到一种方法来实现它。为了明确我想做什么: INSERT INTO SCHEMA.TABLE (ID) VALUES ((SELECT MAX(ID) + 1 FROM SCHEMA.TABLE)) 当id为整数时,这可以正常工作,但如果它是字符串(如001A),则会导致错误。即使有一个字符串作为max字段,我该怎么做才能使其工作?首先,安全地执行此操作意味着您必须序列化对表的修

当我添加新行时,我试图在db2表中增加一个varchar,但是因为该列不仅仅是整数数据,所以我遇到了困难,而且还没有找到一种方法来实现它。为了明确我想做什么:

INSERT INTO SCHEMA.TABLE (ID) VALUES ((SELECT MAX(ID) + 1 FROM SCHEMA.TABLE))

当id为整数时,这可以正常工作,但如果它是字符串(如001A),则会导致错误。即使有一个字符串作为max字段,我该怎么做才能使其工作?

首先,安全地执行此操作意味着您必须序列化对表的修改,这使它成为一个很大的瓶颈。在并发系统上,这将是一个难题。“增量”是什么意思?
'001A'
转到
'002A'
还是
'001B'
?在任何一种情况下,这都带有多部分ID的味道,这是不受欢迎的(违反了良好的规范化实践)。如果这些是内部ID,只需使用常规的、数字的autogenid即可。如果是外部的,你可能需要一个专门的程序,所以……正如发条缪斯指出的,这看起来是一个糟糕的设计。那你为什么觉得有必要走这条路呢?如果您确实觉得需要继续,请指出您正在使用哪种类型的DB2服务器平台,因为这可能会影响所提供的解决方案。