Hi Srinivas,
>>>>>I am using all the fields from DB as key fields.
Normally this is not the case unless there is a specific requirement.
>>>>>Is it a good practice to use any single field and it will delete the corresponding rows in the external DB with this approach?
Using a single field for deletion or select is not the criteria. It depends on table design and what are the key field(s).
However, deleting the records from PI in an external DB is not a good practice. It is better to mark the record as processed which means processed in ECC. This keeps an archive of data in DB for reconciliation and then records can be deleted by the DB team later by a job. for example, job which deletes record marked as processed older than 15 days.
Hope it helps!
Ambrish