在类型的计算列上创建索引nvarchar
会引发以下错误:
无法在表“MyTable”上创建索引或统计信息“MyIndex”,因为计算列“MyColumn”不精确且未保留。考虑从索引或统计键中删除列或将计算列标记为持久。
不精确的列是什么意思?
更新。定义如下:
alter table dbo.MyTable
add [MyColumn] as dbo.MyDeterministicClrFunction(MyOtherColumn)
go
create index MyIndex on dbo.MyTable(MyColumn)
go
更新2。MyDeterministicClrFunction
定义如下:
[SqlFunction(IsDeterministic = true)]
public static SqlString MyDeterministicClrFunction(SqlString input)
{
return input;
}