Oracle
 sql >> Datenbank >  >> RDS >> Oracle

Variable an Tabellennamen mit cx_Oracle binden

Datenbankadapter unterstützen selten die Verwendung von Parametern für alles, was kein „Wert“ ist (etwas, das in Anführungszeichen gesetzt werden muss). Verwenden Sie entweder Zeichenfolgenformatierung (zwielichtig, Sie laufen Gefahr einer SQL-Injektion) oder verwenden Sie eine Bibliothek wie SQLAlchemy, mit der Sie mithilfe von Python-Code gültiges SQL erstellen können.

Wenn Sie sicher sind, dass Ihre usertable Wert vernünftig ist (zum Beispiel gegen eine Liste bestehender Tabellennamen geprüft), würde Folgendes funktionieren:

query = 'select * from some.{usertable}.userinfo'.format(usertable=usertable)