Você não pode usar uma função para inserir dados em uma tabela base . Funções retornar dados. Ele está listado como o primeiro limitação na documentação :
"Modificar o estado do banco de dados" inclui alterar quaisquer dados no banco de dados (embora uma variável de tabela seja uma exceção óbvia, o OP não se importaria com 3 anos atrás - essa variável de tabela vive apenas durante a chamada de função e não afeta as tabelas subjacentes de qualquer forma).
Você deve estar usando um procedimento armazenado, não uma função.