Re: SQL Programming Question
От | John R Pierce |
---|---|
Тема | Re: SQL Programming Question |
Дата | |
Msg-id | 4C8B0229.6050906@hogranch.com обсуждение исходный текст |
Ответ на | SQL Programming Question (tony@exquisiteimages.com) |
Список | pgsql-general |
On 09/10/10 8:07 PM, tony@exquisiteimages.com wrote: > Coming from 25 years of programming applications based on dBASE and FoxPro > tables, I have a question about how to deal with a programming task. > > I have a situation where I receive a file with transactions that have a > unique key from a vendor. These transactions should only be imported into > my system once, but the vendor system will occasionally resend a > transaction by mistake. > > The way I am currently handling this with Micorosft ADO and FoxPro files > is to open a table with an index on the vendor key and seek on the key. If > there is no match I add it, if there is a match I put it in an exception > file to be manually checked. > > Using PostgreSQL I can't open a table and do seeks against an index. I > could do a select against the database and see if 0 records are returned, > but that seems to take more time than doing a seek on an index. Is there a > more SQL friendly way of handling this task? > > the table should have a UNIQUE constraint on that primary key field. use a transaction. go to insert the data. if you get a constraint violation, roll back the transaction, then insert it into your exceptions table.
В списке pgsql-general по дате отправления: