Amigos to tentando fazer uma função em MYSQL, uma que usei na faculdade, só que simplesmente ela não funciona, queria sabe onde estou errado. Essa função é pra validar o CPF, na tabela tbcampista, do banco praia. vou posta o erro de sintaxe.

Aqui o codigo da função.
CREATE FUNCTION [tbcampista].[CPF_VALIDO]
(@CpfCamp VARCHAR(11))
RETURNS CHAR(1)
AS
BEGIN
  DECLARE @INDICE INT,
          @SOMA INT,
          @DIG1 INT,
          @DIG2 INT,
          @CpfCamp VARCHAR(11),
          @DIGITOS_IGUAIS CHAR(1),
          @RESULTADO CHAR(1)
          
  SET @RESULTADO = 'N'
  /*
      Verificando se os digitos são iguais
      A Principio CPF com todos o números iguais são Inválidos
      apesar de validar o Calculo do digito verificado
      EX: O CPF 00000000000 é inválido, mas pelo calculo
      Validaria
  */
  SET @CpfCamp = SUBSTRING(@CpfCamp,1,1)
  SET @INDICE = 1
  SET @DIGITOS_IGUAIS = 'S'
  WHILE (@INDICE <= 11)
  BEGIN
    IF SUBSTRING(@CpfCamp,@INDICE,1) <> @CPF_TEMP
      SET @DIGITOS_IGUAIS = 'N'
    SET @INDICE = @INDICE + 1
  END;
  ----Caso os digitos não sejão todos iguais Começo o calculo do digitos
  IF @DIGITOS_IGUAIS = 'N' 
  BEGIN
    --Cálculo do 1º dígito
    SET @SOMA = 0
    SET @INDICE = 1
    WHILE (@INDICE <= 9)
    BEGIN
      SET @Soma = @Soma + CONVERT(INT,SUBSTRING(@CpfCamp,@INDICE,1)) * (11 - @INDICE);
      SET @INDICE = @INDICE + 1
    END
    SET @DIG1 = 11 - (@SOMA % 11)
    IF @DIG1 > 9
      SET @DIG1 = 0;
    -- Cálculo do 2º dígito }
    SET @SOMA = 0
    SET @INDICE = 1
    WHILE (@INDICE <= 10)
    BEGIN
      SET @Soma = @Soma + CONVERT(INT,SUBSTRING(@CpfCamp,@INDICE,1)) * (12 - @INDICE);
      SET @INDICE = @INDICE + 1
    END
    SET @DIG2 = 11 - (@SOMA % 11)
    IF @DIG2 > 9
      SET @DIG2 = 0
    -- Validando
    IF (@DIG1 = SUBSTRING(@CpfCamp,LEN(@CpfCamp)-1,1)) AND (@DIG2 = SUBSTRING(@CpfCamp,LEN(@CpfCamp),1))
      SET @RESULTADO = 'S'
    ELSE
      SET @RESULTADO = 'N'
  END
  RETURN @RESULTADO
END
go
se alguém puder me ajudar