Tengo el siguiente código a continuación:El uso de RAISERROR no funciona en SQL Server 2005?
BEGIN TRY
BEGIN TRANSACTION
-- DO SOMETHIING
COMMIT TRAN
END TRY
BEGIN CATCH
IF(@@TRANCOUNT > 0)
ROLLBACK TRANSACTION
RAISERROR(ERROR_MESSAGE(), ERROR_SEVERITY(), ERROR_STATE()) --ERROR: Incorrect syntax near 'ERROR_MESSAGE'.
END CATCH
Sin embargo, la instrucción RAISERROR no está funcionando. ¿Qué está mal en la declaración de error de aumento?
¡Oh! Pensé que RAISEERROR es una función y no un procedimiento almacenado. – IsmailS
Las funciones no están sujetas a las mismas restricciones. He agregado un código de demostración a mi respuesta para ilustrar la diferencia. –