Gibt es eine Möglichkeit, eine Masseneinfügung in eine Tabelle durchzuführen, ohne eine Sperre auf Tabellen- oder Blockebene zu verursachen? Wenn nicht, welche Größenblöcke müssen verarbeitet werden, um ein Blockieren zu vermeiden?Bulk Einfügen von Daten in die SQL Server-Tabelle ohne Sperren
0
A
Antwort
0
Kann ein dynamisches sql verwenden und aktualisieren/einfügen mit Batch von 1000 oder 10000 basierend auf dem Datenvolumen, Index, Schlüsselspalte und Einschränkungen.
Ein Beispiel dynamische sql.
CREATE PROCEDURE [dbo].[UpdateDetails]
(
@l_value NVARCHAR(MAX) = NULL,
@l_name NVARCHAR(MAX) = NULL,
@sql NVARCHAR(MAX)
)
AS
BEGIN
SELECT @sql = 'UPDATE Table1 SET Value = [' + @l_value + '] WHERE Name =['+ @l_name + '] '
EXEC sp_executesql @sql
END