Oracle
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Oracle

Liên kết biến với tên bảng bằng cx_Oracle

Bộ điều hợp cơ sở dữ liệu hiếm khi hỗ trợ sử dụng các tham số cho bất kỳ thứ gì không phải là 'giá trị' (thứ cần trích dẫn). Sử dụng định dạng chuỗi (tinh ranh, bạn có nguy cơ bị tiêm sql) hoặc sử dụng thư viện như SQLAlchemy cho phép bạn tạo SQL hợp lệ bằng mã Python.

Nếu bạn chắc chắn usertable của mình giá trị là lành mạnh (ví dụ:được kiểm tra dựa trên danh sách các tên bảng hiện có), điều sau sẽ hoạt động:

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


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. GROUP BY không có chức năng tổng hợp

  2. Tách các giá trị được phân tách bằng dấu phẩy trong Oracle

  3. Nhà cung cấp không tương thích với phiên bản máy khách Oracle

  4. Làm thế nào để lưu BLOB dưới dạng tệp trong PL / SQL?

  5. Điều gì có thể khiến ROWID của Oracle thay đổi?