Om jag ska ta bort ett objekt så vill jag ha ett felmeddelande om objektet inte finns. Kör jag bara DELETE FROM tabell WHERE x = y så säger den ju inget om det inte finns något att ta bort.
Tänkte att jag kör en koll i proceduren och kollar ifall antalet påverkade rader är 0, och i så fall kör RAISERROR. Finns det något annat att tillgå än @@ROWCOUNT? Jag är lite osäker på att använda den då den håller koll på alla resultat globalt, och inte bara för den lagrade procedur som körs.
Eller är risken att något annat körs däremellen så obefintlig att det är försumbart?
Typ såhär...
Kod:
...
BEGIN TRY
DELETE FROM Table
WHERE Id1 = @Id1 AND Id2 = @Id2
IF @@ROWCOUNT = 0
RAISERROR('Unable to delete, no such row!', 16, 1)
COMMIT TRAN
END TRY
...