Path: dp-news.maxwell.syr.edu!spool.maxwell.syr.edu!news-spur1.maxwell.syr.edu!news.maxwell.syr.edu!newsfeed.stueberl.de!newsfeed01.sul.t-online.de!newsfeed00.sul.t-online.de!t-online.de!feeder.news-service.com!193.201.147.80.MISMATCH!newsrouter-eu.astraweb.com!news.astraweb.com!router2.astraweb.com!216.168.1.164.MISMATCH!sn-xt-sjc-04!sn-xt-sjc-12!sn-xt-sjc-01!sn-post-sjc-01!supernews.com!corp.supernews.com!news.victoria.tc.ca!vtn1!yf110
From: yf110@vtn1.victoria.tc.ca (Malcolm Dew-Jones)
Newsgroups: comp.databases.oracle.misc
Subject: Re: Multiple updates w. static SQL vs. single dynamic SQL update
Date: 7 Jul 2006 17:16:04 -0800
Organization: Victoria Telecommunity Network
Message-ID: <44aef944$1@news.victoria.tc.ca>
References: <1152310053.924089.235910@m73g2000cwd.googlegroups.com>
X-Newsreader: TIN [version 1.2 PL2]
X-Original-NNTP-Posting-Host: 199.60.222.3
X-Original-Trace: 7 Jul 2006 17:16:04 -0800, 199.60.222.3
XPident: yf110
X-Complaints-To: abuse@supernews.com
Lines: 29
Xref: dp-news.maxwell.syr.edu comp.databases.oracle.misc:128378

max (cccp.forever@gmail.com) wrote:
: Hi,

: What would be better (faster):

: 1.have a stored procedure loop thru a list of values and execute a
: statement:

: 2. create a comma delimited string of values like so:

:    list := value1 || ',' || value2 || ',' || value3....

:    and using it in a dynamic SQL like so:

:         v_sql =  'update customers
:                            set active = 1
:                        where customer_code in ( ' || list || ')'


How about 3.

insert the values to be selected into a global temporary table and then 

	update customers
	set active = 1
	where customer_code in
	( select selected_code from my_selection_table
	)

