Walter Meester
HoogkarspelPays-Bas
Craig,
The following is comfirmed by Erik Moore.
>>PART_ID is primary index key, the orginal PART_ID(e.g. 01-001 ) record have been marked delete(), but not PACK. User add a new PART_ID, same number (01-001), and updated by tableupdate() function in our application EXE file which build up by VFP6. The error message "Uniqueness of index PART_ID is violated" displayed. Please help! What can I set unless change the type of index key.
>There have been several discussions here on the UT as to whether or not you should have a PK filtered on FOR !DELETED(). I'm in the camp that the record still exists, therefore, the PK should not be reused. On my web site (click the company name above) is an article that discusses PKs and how you can generate unique PKs for each record.
The problem with this approach is that though you add a surrogate key, you still have to ensure that the PART_ID is unique. The only proper way to do this IMO is by using a candidate index
If you've done this you have not solved the problem at all. You've shifted the problem from the primary key to the candidate key (See recent discussions with Erik).
You still have to filter the candidate key on FOR !DELETED() if you use sorrugate keys.
Therefore this problem does not have Anything to do with the use of surrogate keys. You won't solve the problem with surrogate keys !! It makes no difference whether you filter the PK or the CK on FOR !DELETED().
Walter,
Précédent
Suivant
Répondre
Voir le fil de ce thread
Voir le fil de ce thread à partir de ce message seulement
Voir tous les messages de ce thread
Voir tous les messages de ce thread à partir de ce message seulement