Boa tarde!
Não sei se foi proposital, porém a variável @Mensagem está ficando cortada ao final da execução da Procedure apresentada como resposta, devido a sua declaração ter sido feita como um VARCHAR(100), solucionei essa questão aumentando o tamanho da variável, conforme mostrado na vídeo aula.
ALTER PROCEDURE InclusaoVendedor03
@MATRICULA AS VARCHAR(5), @NOME AS VARCHAR(100),
@PERCENTUAL AS FLOAT, @DATAADMISSAO AS DATE,
@FERIAS AS BIT, @BAIRRO AS VARCHAR(50),
@MENSAGEM VARCHAR(MAX) OUTPUT -- ANTES ESTAVA DECLARADA COMO UM VARCHAR(100)
AS
BEGIN
BEGIN TRY
INSERT INTO [TABELA DE VENDEDORES]
(MATRICULA, NOME, [PERCENTUAL COMISSÃO],
[DATA ADMISSÃO], [DE FERIAS], BAIRRO)
VALUES (@MATRICULA, @NOME, @PERCENTUAL, @DATAADMISSAO,
@FERIAS, @BAIRRO)
END TRY
BEGIN CATCH
SET @MENSAGEM = 'Houve um erro número: ' +
CONVERT(VARCHAR(10), ERROR_NUMBER()) + ' - '
SET @MENSAGEM = @MENSAGEM + 'Mensagem: ' +
ERROR_MESSAGE() + ' - '
SET @MENSAGEM = @MENSAGEM + 'Grau de severidade do erro: ' +
CONVERT(VARCHAR(10), ERROR_SEVERITY()) + ' - '
SET @MENSAGEM = @MENSAGEM + 'Estado do erro: ' +
CONVERT(VARCHAR(10), ERROR_STATE()) + ' - '
SET @MENSAGEM = @MENSAGEM + 'Número da linha: ' +
CONVERT(VARCHAR(10), ERROR_LINE()) + ' - '
SET @MENSAGEM = @MENSAGEM + 'Procedure: ' + ERROR_PROCEDURE()
END CATCH
END