sql >> Databasteknik >  >> RDS >> Sqlserver

Exekvera dynamisk SQL i en SQLServer 2005-funktion

Det kan "vanligtvis" inte göras eftersom SQL Server behandlar funktioner som deterministiska, vilket innebär att för en given uppsättning indata, bör den alltid returnera samma utdata. En lagrad procedur eller dynamisk sql kan vara icke-deterministisk eftersom den kan ändra externt tillstånd, till exempel en tabell, som man litar på.

Med tanke på att funktioner i SQL-server alltid är deterministiska, skulle det vara en dålig idé ur ett framtida underhållsperspektiv att försöka kringgå detta eftersom det kan orsaka ganska stor förvirring för alla som måste stödja koden i framtiden.



  1. FÖRENA ALLA och INTE IN tillsammans

  2. Distribution av RAND() i MySQL

  3. Anropa en Oracle-funktion från Java

  4. SQL Server-adress för att ansluta med php