Cursors in a Loop
t_rectenwald
t.rectenwald at gmail.com
Thu Jan 3 20:25:18 EST 2008
On Jan 3, 7:47 pm, t_rectenwald <t.rectenw... at gmail.com> wrote:
> I have a python script that uses the cx_Oracle module. I have a list
> of values that I iterate through via a for loop and then insert into
> the database. This works okay, but I'm not sure whether I can use one
> cursor for all inserts, and define it outside of the loop, or
> instantiate and close the cursor within the loop itself. For example,
> I have:
>
> for i in hostlist:
> cursor = connection.cursor()
> sql= "insert into as_siebel_hosts_temp values('%s')" % (i)
> cursor.execute(sql)
> cursor.close()
>
> And I've also tried:
>
> cursor = connection.cursor()
> for i in hostlist:
> sql= "insert into as_siebel_hosts_temp values('%s')" % (i)
> cursor.execute(sql)
> cursor.close()
>
> Both work fine, and execute in the same amount of time. I'm just
> trying to understand what is the "correct" approach to use.
>
> Thanks,
> Tom
I think I have this one figured out. The answer would be the second
option, i.e. keep the cursor instantion and close outside of the
loop. I wasn't aware that one cursor could be used for multiple
executes.
Regards,
Tom
More information about the Python-list
mailing list