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

Esecuzione di SQL dinamico in una funzione di SQLServer 2005

Non può essere eseguito "normalmente" poiché SQL Server considera le funzioni come deterministiche, il che significa che per un determinato set di input, deve restituire sempre gli stessi output. Una stored procedure o un SQL dinamico può essere non deterministico perché può modificare lo stato esterno, ad esempio una tabella, su cui si fa affidamento.

Dato che in SQL server le funzioni sono sempre deterministiche, sarebbe una cattiva idea da una prospettiva di manutenzione futura tentare di aggirare questo in quanto potrebbe causare una confusione abbastanza grande per chiunque debba supportare il codice in futuro.