sql >> Database teknologi >  >> RDS >> Oracle

Indsæt datasæt i Oracle Table

Hvis du antager, at du vil sløjfe over en samling rækker, og du vil indsætte dem alle, så ville jeg prøve med en pseudokode som denne.

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

Byg en parametreret forespørgsel, definer parametrene (her er alle parametre af strengtype, der skal kontrolleres) og løkke derefter over rækkerne i datatabellen og tildeler parameterværdien fra den tilsvarende kolonne. Bemærk, at du i kommandoteksten ikke skriver værdierne direkte, men du sætter en pladsholder for den faktiske værdi, som du vil levere inde i løkken.




  1. Fjern dobbelte anførselstegn fra et json-felt på en selektiv måde i PostgreSQL

  2. GETUTCDATE() Eksempler i SQL Server (T-SQL)

  3. Definition af sammensat nøgle med automatisk stigning i MySQL

  4. håndterer \copy-kommando commit og rollback i postgres?