Sqlserver
 sql >> Database >  >> RDS >> Sqlserver

Operatore con effetti collaterali di utilizzo non valido Inserisci all'interno di una funzione

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.