in reply to Update/insert record in database

Not being an expert at PL/SQL myself -- and not knowing what sort of database you're talking about (what sort of database are you talking about? that might matter...) -- I'd consider two ways of handling this, depending on the size of the database:

In either case, as you process your input file data, if the given value of $Control exists/is found, then execute an update, else execute an insert.

If you need more details about how to do that, you should give more details about what you're using and what you've tried so far.