Bindvars được sử dụng để thực thi truy vấn như
-
Theo tên (đã cho các thông số được đặt tên)
cursor = self.db.cursor() cursor.execute("SELECT bookName, author from books where Id=:bookId" , bookId="155881") print cursor.bindnames()
sẽ in:['BOOKID']
-
theo vị trí được cung cấp một danh sách các giá trị
cursor = self.db.cursor() cursor.prepare("insert into books (bookId,title,author,price) values(:1, :2, :3, :4)") cursor.executemany(None, listOfbookwhichAreTuppleOf4Field )
Để đạt được những gì bạn mong đợi, bạn có thể thử một cái gì đó như vậy:
def connect():
dsn = cx_Oracle.makedsn("host", 1521, "sid")
orcl = cx_Oracle.connect('scott/[email protected]' + dsn)
curs = orcl.cursor()
sql = "select * from sometable"
curs.execute(sql)
desc = [d[0] for d in curs.description]
result = [dict(zip(desc,line)) for line in curs]
curs.close()