Oracle
 sql >> Teknologi Basis Data >  >> RDS >> Oracle

Bagaimana saya bisa membuat cx-Oracle mengikat hasil kueri ke kamus daripada Tuple?

Bindvars digunakan untuk mengeksekusi query seperti

  • Berdasarkan nama (diberikan parameter bernama)

    cursor = self.db.cursor()
    cursor.execute("SELECT bookName, author from books where Id=:bookId" , bookId="155881")
    print cursor.bindnames()
    

akan mencetak :['BOOKID']

  • berdasarkan posisi yang diberikan daftar nilai

    cursor = self.db.cursor()
    cursor.prepare("insert into books (bookId,title,author,price) values(:1, :2, :3, :4)")
    cursor.executemany(None, listOfbookwhichAreTuppleOf4Field )
    

Untuk mendapatkan apa yang Anda harapkan, Anda dapat mencoba sesuatu seperti itu:

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()


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Cara menggunakan perintah seperti DROP TABLE dll. dalam prosedur tersimpan

  2. Cara Membuka data XML di Oracle

  3. Berapa panjang pernyataan maksimum di Oracle?

  4. Bagaimana cara meneruskan varchar dengan tanda kutip tunggal ke Stored Proc di Oracle

  5. Saat mendesain basis data, apa cara yang lebih disukai untuk menyimpan beberapa nilai benar/salah?