Mit diesem Befehl können wir so etwas wie angeben:SQL Server MERGE Befehl - wie Trap, wenn nichts
WHEN MATCHED AND stm.StudentMarks > 250 THEN DELETE
Aber wie tun wir Falle, wenn ein Datensatz nicht tat qualifizieren? Sagen Sie beispielsweise stm.StudentMarks = 100? Ich bekomme einen Syntaxfehler, wenn ich "ELSE" versuche.
Ich weiß, dass dieser Befehl nicht auf diese Weise verwendet wird. Aber wenn es das kann, wird es mir ersparen, eine Transaktion, Sperren und mehrere SQL-Anweisungen zu verwenden.
Danke. Leider wird das nicht funktionieren. Es wird das Prädikat der Übereinstimmungs-Suchbedingung nicht gefunden, aber nicht. Ich habe auch gerade durch Versuch und Irrtum herausgefunden "Eine Aktion vom Typ 'UPDATE' ist in der 'WHEN NOT MATCHED' Klausel einer MERGE-Anweisung nicht erlaubt." MERGE hat eindeutig sehr spezifische Anwendungen, und was ich will, geht über sie hinaus. Transaktionen & Sperren muss es sein. – IamIC