我有一个标量UDF,我知道它是确定性的,但SQL没有。有没有办法将它声明为确定性的,以便我可以在持久的计算列定义中使用它?
进一步澄清:
本练习的目的是我需要从行上的XML列中获取特定值。我不能在计算列定义中使用xml列的value
方法,但我可以在UDF中使用它。我知道value
方法中的xpath查询将产生相同的输出给出相同的输入,所以我当然明白并非所有对value
的调用都是确定性的我想断言我的是。
答案 0 :(得分:1)
事实证明,我需要做的是将WITH SCHEMABINDING
添加到UDF定义中。毕竟value
方法是确定性的。 (显然是因为XQuery不包含日期?)
答案 1 :(得分:0)
谢谢你的回答!但是,当函数返回从XML提取的日期时间时,它似乎不起作用。你有没有观察到这一点,或者有任何想法如何解决它?
由于
编辑: 显然这个困境的解决方案可以在这里找到...... Persisting a computed datetime column in SQL Server 2005