sql >> Database >  >> RDS >> Sqlserver

Dynamische SQL uitvoeren in een SQLServer 2005-functie

Het kan "gewoonlijk" niet worden gedaan omdat SQL Server functies als deterministisch behandelt, wat betekent dat voor een bepaalde set invoer altijd dezelfde uitvoer moet worden geretourneerd. Een opgeslagen procedure of dynamische sql kan niet-deterministisch zijn omdat het de externe status kan veranderen, zoals een tabel waarop wordt vertrouwd.

Aangezien in SQL-serverfuncties altijd deterministisch zijn, zou het vanuit het oogpunt van toekomstig onderhoud een slecht idee zijn om te proberen dit te omzeilen, aangezien dit voor iedereen die de code in de toekomst moet ondersteunen, nogal grote verwarring kan veroorzaken.



  1. Datum ophalen uit een resultSet

  2. Verbetering van de prestaties van ORDER BY op jsonb cross join met inner join group by

  3. mySQL-query die Resource-id #5 retourneert

  4. OPENROWSET accepteert geen variabelen voor zijn argumenten (SQL Server)