созданные постоянные вычисляемые столбцы, когда пользовательская скалярная функция оказывается недетерминированной - PullRequest
1 голос
/ 16 сентября 2009

У меня есть скалярный UDF, который я знаю, чтобы быть детерминированным, но SQL нет. Есть ли способ объявить его детерминированным, чтобы я мог использовать его в определении постоянного вычисляемого столбца?

дальнейшие разъяснения: Цель этого упражнения заключается в том, что мне нужно извлечь определенные значения из столбца XML в строке. Я не могу использовать метод value для столбца xml в своем определении вычисляемого столбца, но я могу использовать его в UDF. Я знаю, что запрос xpath в методе value даст тот же результат, что и тот же результат, поэтому я, конечно, понимаю, что не все вызовы value будут детерминированными. Я хочу сказать, что мой.

Ответы [ 2 ]

1 голос
/ 16 сентября 2009

Как оказалось, мне нужно было добавить WITH SCHEMABINDING к определению UDF. метод value в конце концов является детерминированным. (Очевидно, потому что XQuery не включает даты?)

0 голосов
/ 10 ноября 2009

Спасибо за этот ответ! Однако, это не похоже на работу, когда функция возвращает дату и время, извлеченные из XML. Вы наблюдали это или у вас есть идеи, как это решить?

Спасибо

редактировать: по-видимому, решение этой проблемы можно найти здесь ... Сохранение вычисленного столбца даты и времени в SQL Server 2005

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...