Consultor Eletrônico



Kbase P25518: In what order is the PROGRESS_RECID column created when *.d
Autor   Progress Software Corporation - Progress
Acesso   Público
Publicação   24/06/2003
Status: Unverified

GOAL:

In what order is the PROGRESS_RECID column created when *.d file is loaded repeatedly into SQL Server?

GOAL:

What is the PROGRESS_RECID_IDENT column used for in SQL Server?

FACT(s) (Environment):

MS SQL DataServer

FACT(s) (Environment):

MS SQL

FIX:

When Progress creates a record in SQL Server, we always look at the identity column (PROGRESS_RECID_IDENT) first. This column is an increment field that acts as a sequence value in a Progress db. When a new record is created in SQL Server, Progress will always review the identity column first and then copy the same value into the PROGRESS_RECID field. We use the PROGRESS_RECID_IDENT column to know where we left off (from the last record) when creating a new record.

When loading the same *.d file repeatedly into SQL Server, Progress will create continuous PROGRESS_RECID values for the set of records that are loaded correctly together, but the values will be scattered and gapped for each time the *.d file was loaded.

For example, say that you have 80 records in the .d file

The first time you load the .d, it only creates the first 20 records
Record 1- PROGRESS_RECID 1
Record 20- PROGRESS_RECID 20

Then you load the same .d again. When Progress creates the 21st record, the PROGRESS_RECID will not be 21, it will be 41. Why, because Progress will start at 21 but discard the first 20 b/c they are duplicates.

Record 21- PROGRESS_RECID 41
Record 40- PROGRESS_RECID 61

Then when you load the same .d again for the third time. When Progress creates the 41st record, the PROGRESS_RECID will now be 102, as it's starting at 62 but remember 40 of them are duplicates.

Record 41- PROGRESS_RECID 102
Record 61- PROGRESS_RECID 142

And this goes on and on.