Sqlserver
 sql >> Base de données >  >> RDS >> Sqlserver

Utiliser un opérateur à effet secondaire non valide Insérer dans une fonction

Vous ne pouvez pas utiliser une fonction pour insérer des données dans une table de base . Fonctions retour Les données. Ceci est répertorié comme le tout premier limitation dans la documentation :

"Modifier l'état de la base de données" inclut la modification de toutes les données de la base de données (bien qu'une variable de table soit une exception évidente, l'OP ne s'en serait pas soucié il y a environ 3 ans - cette variable de table ne vit que pendant la durée de l'appel de fonction et n'affecte pas les tables sous-jacentes de quelque manière que ce soit).

Vous devez utiliser une procédure stockée, pas une fonction.