RE:cambiar texto del error
Para los script de sql server exite un setencia llamda @error, elñ cual te devuelve un nuero de error al generarse uno, la forma de usarlo puede ser:
CREATE PROCEDURE MyProcedure
AS
Begin Transaction
Insert Into MyTable(ID, Dato1, Dato2)
Values(1, 'Valor1', 300) )
-- Si ocurre un error aqui lo verificamos
If @@Error != 0 Goto CatchError
--Si no terminamos
Commit Transaction
Return
CatchError:
Rollback Transaction
RaisError('Ocurrió un error en la transacción', 16, -1)
Return
GO