Oracle
 sql >> Datenbank >  >> RDS >> Oracle

Datensatz in Oracle-Tabelle einfügen

Angenommen, Sie möchten eine Sammlung von Zeilen durchlaufen und alle einfügen, dann würde ich es mit einem Pseudocode wie diesem versuchen.

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

Erstellen Sie eine parametrisierte Abfrage, definieren Sie die Parameter (hier sind alle Parameter vom Typ Zeichenfolge, die überprüft werden müssen) und durchlaufen Sie dann die Zeilen der Datentabelle, indem Sie den Parameterwert aus der entsprechenden Spalte zuweisen. Beachten Sie, dass Sie im Befehlstext die Werte nicht direkt schreiben, sondern einen Platzhalter für den eigentlichen Wert einfügen, den Sie innerhalb der Schleife bereitstellen.