Tuesday, September 2, 2008

SQL eviter de faire un update massif par erreur

-- script évitant de faire un update massif plutôt que d'une seule ligne (typiquement lorsque l'on oublie la clause where)

begin transaction

-- votre commande SQL (ex : update from mytable where id=1)

-- exception si plus de 1 ligne updatée
IF (@@ROWCOUNT > 1)
BEGIN
RAISERROR ('too many lines.', 16, 1)
ROLLBACK TRANSACTION
return
END

commit transaction

No comments: