[DB-SIG] Insert for Oracledb
Fri, 21 Nov 1997 08:37:26 -0600
Yes, thank you for your response. That indeed does work, however I put that into the category of 'hardcoding the values into the sql string' - since you basically explicitly
convert to ASCII with str() and insert into the sql string. I had hoped that I could use
execute(sqlstring, [params...]) as documented in the DBI document with params presented as one (or more) parameters giving basically a List of Tuples (or arrays of values) to be
"bound" to the input column names given, in some Oracle-specific/binding magic format, in the sql string. However, I find that a) only one param is permitted with the oracledb
b) I cannot find the secret way to "bind" the List of Tuples into the sql command - not even for a single record insert, although I really want it to work for a whole list of tuples.
It is probably extremely simple and just that I don't understand the notation
involved in specifying the sqlstring and its column names to be bound.
However, I do appreciate your response and am interested to find another living soul using this package.
Cary Collett wrote:
> Here's a quick, dirty example...
> >>> import oracledb
> >>> cobj = oracledb.oracledb('foo/bar')
> >>> cu = cobj.cursor()
> >>> a = (1,11714,10,0,'Bob')
> >>> qs = "INSERT INTO ppiOrder (orderID,accountID,amount,discountPercent,salesRepName) VALUES (" + str(a) + "," + str(a) + "," + str(a) + "," + str(a) + ",'" + a + "')"
> >>> qs
> "INSERT INTO ppiOrder (orderID,accountID,amount,discountPercent,salesRepName) VALUES (1,11714,10,0,'Bob')"
> >>> cu.execute(qs)
> >>> cobj.rollback()
> You might also have your program send the query string to the stdout
> or stderr to see what it looks like. Try it in sqlplus, it will
> give you a little bit better error diagnostics.
> Hope this helps,
> > Please can someone send me a working code sample of how they
> > successfully used the oracledb module (from Digital Creations) to insert
> > one or more rows into an oracle database, preferably based on a List of
> > previously constructed Tuples.
> > I have looked at the example posted by Andrew Kuchling (for Solid), and
> > read most of the past email, including a discussion about binding of
> > variables using the :N notation. However, although I can query the
> > database I have had no success at inserting rows, except by hardcoding
> > the values into the sql string.
> > Whatever I try I seem to get Parse errors, or too many arguments, or
> > sql not properly terminated, or missing parens, or something! - even
> > for 1 row.
> > There seems to be very little activity on this SIG, with no updates to
> > database API documentation since 1996! Is there really no-one out
> > there using this stuff, for Oracle?
> > Would appreciate help
> > Vicky White
> > _______________
> > DB-SIG - SIG on Tabular Databases in Python
> > send messages to: email@example.com
> > administrivia to: firstname.lastname@example.org
> > _______________
DB-SIG - SIG on Tabular Databases in Python
send messages to: email@example.com
administrivia to: firstname.lastname@example.org