2010-05-16, 21:30
  #1
Medlem
The Barrs avatar
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
...
__________________
Senast redigerad av The Barr 2010-05-16 kl. 21:35.
Citera

Skapa ett konto eller logga in för att kommentera

Du måste vara medlem för att kunna kommentera

Skapa ett konto

Det är enkelt att registrera ett nytt konto

Bli medlem

Logga in

Har du redan ett konto? Logga in här

Logga in