Nu prea ai cum să faci chestia asta în SQL 2000. Cel mai apropiat lucru ar fi:
SET @errorMessage=(SELECT description FROM master..sysmessages WHERE error=@@ERROR)
Dar asta nu îţi returnează parametrii erorii, ci doar template-ul mesajului, de exemplu:
%ls statement conflicted with %ls %ls constraint '%.*ls'. The conflict occurred in database '%.*ls', table '%.*ls'%ls%.*ls%ls.
în loc de:
DELETE statement conflicted with COLUMN REFERENCE constraint 'FKName'. The conflict occurred in database 'DatabaseName', table 'TableName', column 'ColumnName'.
Totuşi, de ce ai nevoie de chestia asta? În mod normal, textul erorii ajunge la client şi poţi să faci acolo ce vrei cu el (să-l afişezi, să-l scrii într-un audit log, etc).
Răzvan