Conform BOL, @@ERROR întoarce codul de eroare doar
pentru ultima instrucțiune/comandă SQL executată. În esență, dacă folosiți funcția @@ERROR atunci trebuie să verificați existența unei erori după fiecare execuție a unei instrucțiuni/comenzi SQL incluzând aici fiecare apel de procedură stocată:
...
EXECUTE procedura1
IF @@ERROR <> 0
ROLLBACK ...
...
EXECUTE procedura2
IF @@ERROR <> 0
ROLLBACK ...
Dacă folosiți SQL 2000 citiți aceste materiale publicate de către Erland Sommarskog:
[1] &
[2].
Dacă folosiți SQL 2005, 2008 [R2] atunci este interesant acest
articol. Plecând de la ultimul articol puteți să construiți un șablon de procedură stocată (citiți și comentariile), șablon pe care să-l utilizați pentru implementarea tuturor procedurilor stocate.