[AccessD] Use a select in an update statement

Charlotte Foust cfoust at infostatsystems.com
Wed Aug 5 17:29:11 CDT 2009


If it's a stored procedure, why not make it accept input parameters and
then just pass them in ... Or am I misunderstanding what you want to do?

Charlotte Foust

-----Original Message-----
From: accessd-bounces at databaseadvisors.com
[mailto:accessd-bounces at databaseadvisors.com] On Behalf Of jwcolby
Sent: Wednesday, August 05, 2009 3:04 PM
To: Access Developers discussion and problem solving; Dba-Sqlserver
Subject: [AccessD] Use a select in an update statement

I need to update a field based on the top N values in another field kind
of thing.

IOW

Select top 10000 KeyCode
 From tblOrderData
Where NoChildren = '2'
OrderBy RandomNumber

Now, I need to UPDATE Keycode to 'KeyA'

I can save the Select statement to vSelKeyCode and then do an update on
that as follows:

UPDATE vSelKeyCode
SET KeyCode = 'KeyA'

I then need to do this many times, changing the TOP() value and
NoOfChildren code.

It seems logical that I could replace vSelKeyCode with the Select
statement contained in vSelKeyCode but I get errors when I attempt this.

Is it possible to do this?

What I am trying to do in the end is create a stored procedure that
allows me to pass in the TOP() value, NoOfChildren code and Key value
and build dynamic code to perform this update.

In the past I have just created N stored views with the correct TOP()
value and NoOfChildren code hard coded, then performed an Update to each
of those stored views.  While that works it is a PITA and subject to all
kinds of errors.

There has to be a better way, and I don't know what it is.  The dynamic
SQL statement in a stored procedure is my answer, and lead me to the
damned gallows!

--
John W. Colby
www.ColbyConsulting.com




More information about the AccessD mailing list