I have thousands of old pictures which were sitting in a photo album. Unfortunately, instead of the photo album protecting the pictures, the plastic coverings yellowed, and the pictures themselves had to be carefully extracted from the books. There is also quite a bit of powdered paper (the backings on the books pretty much fell apart while we extracted the pictures), and the fronts of the images are still a bit sticky.

These pictures are 30+ years old, are often extremely faded, and were originally taken on (what I think is) "110 film" -- they are approximately 2.5" squares.

Anyway, I need to scan all these images in to preserve them from further decay. Unfortunately, it's taking forever -- going through less than 100 images took an entire day, even if one discounts any time spent in Photoshop trying to remove some of the photo album's artifacts on the images.

What I really need is some method of scanning the images in faster. Most automated solutions aren't going to work because they accept 4x6s as their smallest image size, and even if that was not the case, the adhesives still stuck to the prints would probably ruin any such device in 5 seconds flat.

Is there a better way of doing this (i.e. fast scanner?) that wouldn't take so much time?


Question: Adding Data to Multiple Tables Using Single Query
Answer: As Thomas points out, if your goal is to ensure that the operation is atomic (both inserts either work or fail in unison) then what you are looking for is transactions like so:

BEGIN TRANSACTION
INSERT INTO &lt;table1&gt; ...
INSERT INTO &lt;table1&gt; ...
COMMIT TRANSACTION


The official documentation for this is at http://msdn.microsoft.com/en-us/library/ms174377.aspx but you would be better off finding a good book/tutorial if you are a beginner as that documentation is more geared towards reference and knowledge expansion use rather and initial learning. For extra complications see "XACT_ABORT" (http://msdn.microsoft.com/en-gb/library/ms188792.aspx) &amp; other transaction behaviour controlling options, and look into TRY/CATCH (added in SQL2005) for more flexible exception handling.

You can insert/update multiple tables at once while looking like you are updating a simple single object by using views with INSTEAD OF triggers (http://msdn.microsoft.com/en-us/library/ms175521.aspx) - essentially you define a view that merges the data from the tables as needed and create a trigger that handles the complications of insert and update operations (translating actions upon the view into actions upon the base tables (and potentially others)).

If you consider the individual stores in a partitioned tables to be separate entities then this can fit the description of a single operation on (what looks like) a single object affecting many tables at once.

This is of course fairly generic information: for something more specific you'll need to describe much more precisely in your question what you are trying to achieve (and why, which may be relevant for suggesting alternatives). As it stands your question may be closed for being too vague.