Non puoi utilizzare una funzione per inserire dati in una tabella di base . Funzioni ritorno dati. Questo è elencato come il primo limitazione nella documentazione :
"Modifica lo stato del database" include la modifica di qualsiasi dato nel database (sebbene una variabile di tabella sia un'ovvia eccezione all'OP non sarebbe importato circa 3 anni fa - questa variabile di tabella vive solo per la durata della chiamata di funzione e non influisce le tabelle sottostanti in alcun modo).
Dovresti utilizzare una procedura memorizzata, non una funzione.