Forum >> Programmazione Python >> Database >> Select su DB Oracle

Pagina: 1

Ciao a tutti,
ho un problema di sintassi su una "semplice" select su DB Oracle, iterata:

for x in ArrayCode:
cur.execute("select Name,Beta,Var52Week from finmodel.stock where Code = '",ArrayCoderiga,"'"")

mi da l'errore: ^
SyntaxError: EOL while scanning string literal

Se tolgo un doppio apice al fondo come mi sembra voglia dire l'errore...quindi:

cur.execute("select Name,Beta,Var52Week from finmodel.stock where Code = '",ArrayCoderiga,"'")

mi da l'errore
TypeError: function takes at most 2 arguments (3 given)

La select è giusta (senza iterare usando la variabile la select lavora perfettamente).

Dove sbaglio?

Grazie

Ciao a tutti,
ho un problema di sintassi su una "semplice" select su DB Oracle, iterata:

for x in ArrayCode:
cur.execute("select Name,Beta,Var52Week from finmodel.stock where Code = '",ArrayCoderiga,"'"")

mi da l'errore: ^
SyntaxError: EOL while scanning string literal

Se tolgo un doppio apice al fondo come mi sembra voglia dire l'errore...quindi:

cur.execute("select Name,Beta,Var52Week from finmodel.stock where Code = '",ArrayCoderiga,"'")

mi da l'errore
TypeError: function takes at most 2 arguments (3 given)

La select è giusta (senza iterare usando la variabile la select lavora perfettamente).

Dove sbaglio?

Grazie
Prova con

cur.execute("select Name,Beta,Var52Week from finmodel.stock where Code = :code", ArrayCode[riga])

Oppure potrebbe essere più veloce eliminando il ciclo e facendo semplicemente

cur.executemany("select Name,Beta,Var52Week from finmodel.stock where Code = :code", ArrayCode)
Vedi http://cx-oracle.readthedocs.org/en/latest/cursor.html per i dettagli.


THE 🍺-WARE LICENSE (Revision ㊷):
<carlo@🐍.it> wrote this post. As long as you retain this notice you
can do whatever you want with this stuff. If we meet some day, and you
think this stuff is worth it, you can buy me a 🍺 in return. -- ㎝


Pagina: 1



Esegui il login per scrivere una risposta.