Sie können keine Funktion verwenden, um Daten in eine Basistabelle einzufügen . Funktionen return Daten. Dies wird als das allererste aufgeführt Einschränkung in der Dokumentation :
"Ändern des Datenbankstatus" umfasst das Ändern von Daten in der Datenbank (obwohl eine Tabellenvariable eine offensichtliche Ausnahme ist, um die sich das OP vor 3 Jahren nicht gekümmert hätte - diese Tabellenvariable lebt nur für die Dauer des Funktionsaufrufs und wirkt sich nicht aus die zugrunde liegenden Tabellen in irgendeiner Weise).
Sie sollten eine gespeicherte Prozedur verwenden, keine Funktion.