Sql 在进度插入时获取RowID

Sql 在进度插入时获取RowID,sql,progress-4gl,openedge,progress-db,Sql,Progress 4gl,Openedge,Progress Db,我有一个没有主键的表。我需要向表中添加一个主键,所以我添加了一个名为“ID”的列。我试图使用rowid将唯一的id插入到这个新列中。插入新记录时如何获取rowid。这在进度数据库中 INSERT INTO PUB.DETAILS (LASTUPDATED, FORMERVALUE, NEWVALUE, ID) VALUES ('09/16/2015', 'NEW ITEM', 'ESISTING ITEM', '?') 只需将ID列设置为autoincrement,这样您就不需要知道最后插入

我有一个没有主键的表。我需要向表中添加一个主键,所以我添加了一个名为“ID”的列。我试图使用rowid将唯一的id插入到这个新列中。插入新记录时如何获取rowid。这在进度数据库中

INSERT INTO PUB.DETAILS (LASTUPDATED, FORMERVALUE, NEWVALUE, ID) 
VALUES ('09/16/2015', 'NEW ITEM', 'ESISTING ITEM', '?')

只需将ID列设置为autoincrement,这样您就不需要知道最后插入的ID列。

进度数据库不需要密钥。至少不是以“SQL方式”。键(以及关系)由业务逻辑(即如何使用字段)定义

因为您似乎在使用一个正在使用的数据库,这可能只是因为您不需要密钥——已经有某种逻辑来完成这项工作了

有一种叫做“序列”的在建数据库可以用来增加价值——我真的不知道如何使用odbc或sql访问它们

在进行ABL(4GL)时,您会说
NEXT-VALUE(序列名)


.

如果使其自动递增,则无需传递value@MeerDeen在进程数据库中没有这样的东西…顺便说一句,在数据库列中使用ROWID或RECID有一个主要的“问题”;这些值的完整性在转储和加载后将无法生存…进程数据库没有自动增量。至少据我所知,它们没有真正的SQL数据库。