Looks Straightforward enough. For a single site you would need to use (but I haven't tested it)
UPDATE SURVEY_EVENT SET SURVEY_EVENT.SURVEY_KEY = 'yyyyyyyyyyyyyyyy'
WHERE (((SURVEY_EVENT.LOCATION_KEY)='xxxxxxxxxxxxxxxxx'))
Where xxxxxx etc is the location key of the site for which data is to be moved and yyyyy is the key of the survey to which they are to go.
For a small number of sites you could use:
UPDATE SURVEY_EVENT SET SURVEY_EVENT.SURVEY_KEY = 'yyyyyyyyyyyyyyyy'
WHERE (((SURVEY_EVENT.LOCATION_KEY) in ('xxxxxxxxxxxxxxxxx', 'zzzzzzzzzzzzzzzz'))
Where zzzz is also the location key of one of the sites. Not sure how many sites you can do in one go like this, but it will be limited by the total length of the command string.
You might also want to adapt it to set the changed date and changed by fields and add a comment, but the principle should be the same.
Rob Large
Wildlife Sites Officer
Wiltshire & Swindon Biological Records Centre