Sqlserver
 sql >> Base de Dados >  >> RDS >> Sqlserver

Executando SQL dinâmico em uma função do SQLServer 2005


Isso "normalmente" não pode ser feito, pois o SQL Server trata as funções como determinísticas, o que significa que, para um determinado conjunto de entradas, ele deve sempre retornar as mesmas saídas. Um procedimento armazenado ou SQL dinâmico pode ser não determinístico porque pode alterar o estado externo, como uma tabela, na qual se confia.

Dado que as funções do servidor SQL são sempre determinísticas, seria uma má ideia, de uma perspectiva de manutenção futura, tentar contornar isso, pois poderia causar uma confusão bastante grande para quem precisa oferecer suporte ao código no futuro.