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

Làm cách nào để thực hiện chèn hàng loạt vào cơ sở dữ liệu Oracle bằng Python?

Đây là những gì tôi nghĩ ra có vẻ hoạt động tốt (nhưng hãy bình luận nếu có cách để cải thiện điều này):

# build rows for each date and add to a list of rows we'll use to insert as a batch 
rows = [] 
numberOfYears = endYear - startYear + 1
for i in range(numberOfYears):
    for j in range(12):
        # make a date for the first day of the month
        dateValue = datetime.date(startYear + i, j + 1, 1)
        index = (i * 12) + j
        row = (stationId, dateValue, temps[index], precips[index])
        rows.append(row)

# insert all of the rows as a batch and commit
ip = '192.1.2.3' 
port = 1521
SID = 'my_sid'
dsn = cx_Oracle.makedsn(ip, port, SID)
connection = cx_Oracle.connect('username', 'password', dsn)
cursor = cx_Oracle.Cursor(connection)
cursor.prepare('insert into ' + database_table_name + ' (id, record_date, temp, precip) values (:1, :2, :3, :4)')
cursor.executemany(None, rows)
connection.commit()
cursor.close()
connection.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. Cách tính tuổi theo năm, tháng và ngày bằng Oracle

  2. Tại sao DECODE của Oracle lại cho tôi một giá trị khác với NVL?

  3. OLAP mô phỏng

  4. Liệt kê tất cả các chức năng trong Cơ sở dữ liệu Oracle

  5. Truy vấn có các phép nối bên ngoài hoạt động khác nhau trong Oracle 12c