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

Udførelse af dynamisk SQL i en SQLServer 2005-funktion

Det kan "normalt" ikke gøres, da SQL Server behandler funktioner som deterministiske, hvilket betyder, at for et givet sæt af input, skal det altid returnere de samme output. En lagret procedure eller dynamisk sql kan være ikke-deterministisk, fordi den kan ændre ekstern tilstand, såsom en tabel, som man stoler på.

I betragtning af, at funktioner i SQL-server altid er deterministiske, ville det være en dårlig idé fra et fremtidigt vedligeholdelsesperspektiv at forsøge at omgå dette, da det kan forårsage ret stor forvirring for alle, der skal understøtte koden i fremtiden.



  1. PDO og ER IKKE NULL Funktion

  2. mange-til-mange og mange-til-mange kryds

  3. Hvordan bruger man en case-sætning i skalært værdisat funktion i SQL?

  4. Forekommer MySQL-caching, hvordan rettes det?