continue processing after fk violation | SQL Server Performance Forums

SQL Server Performance Forum – Threads Archive

continue processing after fk violation

Is there a way to have a query continue processing after a fk violation. For example, I have a query that select a bunch of rows, and posts them to another db. If one of the rows has a fk violation, I know sql won’t post that one, but I would like it to continue on and post the rest of the valid rows. Is that possible? Here is my query:
/*CartonHistory selected by datetimestamp*/
print ‘CartonHistory’
update cryrep.dbo.CartonHistory
set archive.dbo.CartonHistory.CartonID = prod.dbo.CartonHistory.CartonID, …rest of cols
from cryrep.dbo.CartonHistory inner join prod.dbo.CartonHistory on archive.dbo.CartonHistory.CartonID = prod.dbo.CartonHistory.CartonID
and archive.dbo.CartonHistory.DateTimeStamp = prod.dbo.CartonHistory.DateTimeStamp
where prod.dbo.CartonHistory.DateTimeStamp > @datetimevar insert into archive.dbo.CartonHistory select prod.dbo.CartonHistory.CartonID,boscov.dbo.CartonHistory.DateTimeStamp, …rest of cols
from prod.dbo.CartonHistory
left join archive.dbo.CartonHistory on prod.dbo.CartonHistory.CartonID = archive.dbo.CartonHistory.CartonID and
prod.dbo.CartonHistory.DateTimeStamp = archive.dbo.CartonHistory.DateTimeStamp
where archive.dbo.CartonHistory.CartonID is null and prod.dbo.CartonHistory.DateTimeStamp is null and prod.dbo.CartonHistory.DateTimeStamp > @datetimevar Thanks in advance, Ben
insert into archive.dbo.CartonHistory
select prod.dbo.CartonHistory.CartonID,boscov.dbo.CartonHistory.DateTimeStamp, …rest of cols
from prod.dbo.CartonHistory
left join archive.dbo.CartonHistory on prod.dbo.CartonHistory.CartonID = archive.dbo.CartonHistory.CartonID and
prod.dbo.CartonHistory.DateTimeStamp = archive.dbo.CartonHistory.DateTimeStamp
where archive.dbo.CartonHistory.CartonID is null
and prod.dbo.CartonHistory.DateTimeStamp is null
and prod.dbo.CartonHistory.DateTimeStamp > @datetimevar
and prod.dbo.CartonHistory.FK_COLUMN IN ( select FK_COLUMN from archive.dbo.FK_DATA )

Thank you very much. That makes sense. I guess I should have thought of that.
]]>