Собственно вопрос, почему его нельзя использовать в функциях и группу других похож недетерминированных функций(Например, Rand())?
Это какая-то особенность MS SQL или и в других СУБД похожая ситуация?
Со стороны я не вижу причин запрета.
Ответ
Способ обхода:
create view getNewID as select newid() as new_id
create function myfunction ()
returns uniqueidentifier
as begin
return (select new_id from getNewID)
end
Почему - возможно NEWID() изменяет состояние БД:
User-defined functions cannot be used to perform actions that modify the database state.
Комментариев нет:
Отправить комментарий