Oracle
 sql >> база данни >  >> RDS >> Oracle

Вмъкване на набор от данни в таблицата на Oracle

Да предположим, че искате да преминете през колекция от редове и искате да вмъкнете всички тях, тогава бих опитал с псевдокод като този.

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

Създайте параметризирана заявка, дефинирайте параметрите (тук са всички параметри от тип низ, трябва да бъдат проверени) и след това преминете през редовете на таблицата с данни, присвоявайки стойността на параметрите от съответната колона. Забележете, че в текста на командата не пишете директно стойностите, а поставяте контейнер за действителната стойност, която ще предоставите вътре в цикъла.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Изчисляване на средната цена на инвентара в SQL

  2. OracleDataSource срещу Oracle UCP PoolDataSource

  3. Oracle to_date функция. Необходима е маска

  4. Oracle - актуализира запис и връща актуализирана дата в същата заявка

  5. Oracle raise_application_error номер на грешка най-добра практика