Heim >Backend-Entwicklung >C++ >Wie kann ich effiziente parametrisierte Masseneinfügungen in C# und SQL Server durchführen?
Durchführen von Masseneinfügungen mit parametrisierten Variablen in C#
Bei Datenbankoperationen ist es oft wünschenswert, mehrere parametrisierte Variablen in eine Datenbank einzufügen, insbesondere wenn Die Datenbank empfängt Daten von einer Webanwendung. Um solche Vorgänge zu optimieren und Wiederholungen zu vermeiden, kann man eine gespeicherte Prozedur und einen Tabellenwertparameter verwenden.
Um dies in C# zu erreichen, befolgen Sie diese Schritte:
Erstellen Sie einen benutzerdefinierten Tabellentyp (UDT):
Definieren Sie einen UDT entsprechend der Struktur der Daten, die Sie einfügen möchten. Zum Beispiel:
CREATE TYPE MyTableType AS TABLE ( Col1 int, Col2 varchar(20) ) GO
Erstellen Sie eine gespeicherte Prozedur mit Tabellenwertparametern:
Erstellen Sie eine gespeicherte Prozedur, die den UDT als Parameter akzeptiert. Die Prozedur fügt die Daten in die Zieldatenbanktabelle ein:
CREATE PROCEDURE MyProcedure ( @MyTable dbo.MyTableType READONLY -- Note: Table-valued parameters must be readonly ) AS INSERT INTO MyTable (Col1, Col2) SELECT Col1, Col2 FROM @MyTable GO
Eine Datentabelle füllen:
Führen Sie die gespeicherte Prozedur mit Parametern aus:
Führen Sie den Befehl aus, um die Masseneinfügung durchzuführen.
DataTable dt = new DataTable(); dt.Columns.Add("Col1", typeof(int)); dt.Columns.Add("Col2", typeof(string)); // Fill your data table here using (var con = new SqlConnection("ConnectionString")) { using(var cmd = new SqlCommand("MyProcedure", con)) { cmd.CommandType = CommandType.StoredProcedure; cmd.Parameters.Add("@MyTable", SqlDbType.Structured).Value = dt; con.Open(); cmd.ExecuteNonQuery(); } }
Durch Befolgen dieser Schritte können Sie eine effiziente Ausführung durchführen parametrisierte Masseneinfügungen in eine SQL Server-Datenbank mithilfe von C#-Code. Dieser Ansatz verhindert nicht nur Wiederholungen, sondern optimiert auch die Datenbankleistung, indem eine einzelne Abfrage für mehrere Zeilen ausgeführt wird.
Das obige ist der detaillierte Inhalt vonWie kann ich effiziente parametrisierte Masseneinfügungen in C# und SQL Server durchführen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!