sql - Is it OK to swallow an exception for DB INSERT -


is ok swallow duplicate key violation exceptions inserts or should check if record exists?

so let's have table photo 1 field: photoname. i'm looking through file directory add items photo. in process, it's possible when find photoname, might in database. there 2 ways go this:

1) //look see if exists before adding it. add if not exist.  bool photoexists = sqlselectstatementtocheckifthephotoexists(photoname); if(!photoexists)   sqlcommandtoinsertphoto(photoname)  or 2) //assume doesn't exist. if does, catch , ignore. try {   sqlcommandtoinsertphoto(photoname); } catch(duplicatekeyexception ex) {   //swallow , continue on if nothing happened. } 

on 1 hand, don't notion of "swallowing" exception, on other hand, try...catch uses 1 call db. happens in sql server.

you should not "swallow" exception. should trying find these duplicates , not insert them if needed.

on method checking not exists on key.

insert targettable  select      keyid,     blah,     blerg, sourcetable s not exists (     select 1     targettable t     s.keyid = t.keyid     ) 

this method allow insert new rows table. method of course not account matching may need update, that's outside scope of question should still thought about. users use merge i'll post example of when time.


Comments

Popular posts from this blog

php - regexp cyrillic filename not matches -

c# - OpenXML hanging while writing elements -

sql - Select Query has unexpected multiple records (MS Access) -