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

Chèn Tập dữ liệu vào Bảng Oracle

Giả sử bạn muốn lặp lại một tập hợp các hàng và bạn muốn chèn tất cả chúng thì tôi sẽ thử với một mã giả như thế này.

string cmdText = "INSERT INTO MY_INSERT_TEST(Col1, Col2, Col3) VALUES(?, ?, ?)";
using(OdbcConnection cn = getDBConnection())
using(OdbcCommand cmd = new OdbcCommand(cmdText, cn))
{
    cn.Open();
    cmd.Parameters.AddWithValue("@p1", "");
    cmd.Parameters.AddWithValue("@p2", "");
    cmd.Parameters.AddWithValue("@p3", "");
    foreach(DataRow r in dt.Rows)
    {
         cmd.Parameters["@p1"].Value =  r["Column3"].ToString());
         cmd.Parameters["@p2"].Value =  r["Column1"].ToString());
         cmd.Parameters["@p3"].Value =  r["Column2"].ToString());
         cmd.ExecuteNonQuery();
    }
}

Xây dựng một truy vấn tham số hóa, xác định các tham số (ở đây là tất cả các tham số kiểu chuỗi, cần được kiểm tra) và sau đó lặp qua các hàng của datable gán giá trị tham số từ cột tương ứng. Lưu ý rằng trong văn bản lệnh, bạn không viết trực tiếp các giá trị nhưng bạn đặt một trình giữ chỗ cho giá trị thực mà bạn sẽ cung cấp bên trong vòng lặp.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Nhiều cơ sở dữ liệu với các mô hình thay đổi một chút. Làm cách nào để cho phép `EF` hoạt động với các cấu trúc cơ sở dữ liệu khác nhau tại thời điểm chạy?

  2. 2 cách để lấy số phút từ giá trị ngày giờ trong cơ sở dữ liệu Oracle

  3. PLSQL - Chèn vào trình kích hoạt gây ra vòng lặp đệ quy

  4. Maven Cảnh báo chết người:protocol_version

  5. T-SQL:Làm thế nào bạn có thể tạo một bảng với SELECT?