Angenommen, eine Tabellenstruktur von MyTable (MyTableId NVARCHAR (MAX) PRIMARY KEY, NumberOfInserts INTEGER).Sichere Lösungen für INSERT oder UPDATE auf SQL Server 2016
Ich brauche oft entweder aktualisieren das heißt einen Zähler von einem vorhandenen Datensatz erhöhen oder einen neuen Datensatz einfügen, wenn es nicht mit einem Wert von 0 für NumberOfInserts existiert.
Im Wesentlichen:
IF (MyTableId exists)
run UPDATE command
ELSE
run INSERT command
Meine Sorge ist, Bedingungen Daten aufgrund von Rasse, usw.
Was ist der sicherste Weg, dies zu schreiben, zu verlieren?
Ich brauche es 100% genau, wenn möglich zu sein und bereit Geschwindigkeit zu opfern, wo nötig.
Sie könnten prüfen, mit dem Befehl MERGE, kombinierte Update, einfügen und löschen alle auf einmal. Paar von Beobachtungen, bitte nicht diese Spalte 'Schlüssel' nennen es ist ein reserviertes Wort in SQL Server. Verwenden Sie das auch als Ihren Primärschlüssel? Wenn das so ist, ist NVARCHAR (MAX) eine wirklich schlechte Idee. –