Steve, I think you were right the first time is saying > it should really be this: > sqlxb= 'INSERT INTO DTABLE2 VALUES (?, ?, ?, ?)'
my copy.copy() has the equivalent effect. Running this test code produces the output below import copy print 'Test 1' pf= '?,?,?,?' sqlx1= 'INSERT INTO DTABLE2 VALUES ( %s ) ' % pf print sqlx1 print print 'Test 2' sqlx2= copy.copy(sqlx1) sqlx3= sqlx1 pf= '?,?,?, ****' sqlx1= 'INSERT INTO DTABLE2 VALUES ( %s ) ' % pf print 'sqlx1= ', sqlx1 print 'sqlx2= ', sqlx2 print 'sqlx3= ', sqlx2 == output Test group 1 INSERT INTO DTABLE2 VALUES ( ?,?,?,? ) Test group 2 sqlx1= INSERT INTO DTABLE2 VALUES ( ?,?,?, **** ) sqlx2= INSERT INTO DTABLE2 VALUES ( ?,?,?,? ) sqlx3= INSERT INTO DTABLE2 VALUES ( ?,?,?,? ) I interpret this to mean that sqlx1 is not a simple string -- http://mail.python.org/mailman/listinfo/python-list