创建索引失败,不知如何处理。
错误说明:
无法对表 'Customer ' 的计算列 'AccountNumber ' 创建索引,因为基础对象 'ufnLeadingZeros ' 的所有者不同。
自定义标量函数 ufnLeadingZeros 的定义如下:
ALTER FUNCTION [dbo].[ufnLeadingZeros](
@Value int
)
RETURNS varchar(8)
WITH SCHEMABINDING
AS
BEGIN
DECLARE @ReturnValue varchar(8);
SET @ReturnValue = CONVERT(varchar(8), @Value);
SET @ReturnValue = REPLICATE( '0 ', 8 - DATALENGTH(@ReturnValue)) + @ReturnValue;
RETURN (@ReturnValue);
END;
表 'Customer '的架构为 Sales。
表 'Customer ' 的计算列 'AccountNumber ' 的公式如下:
(isnull( 'AW '+[dbo].[ufnLeadingZeros]([CustomerID]), ' '))
以上信息来自于 SQL SERVER 2005 示例数据库 AdventureWorks。
在该数据库中,已经存在这一个索引定义。但不知怎么能够生成这个索引。
我删除该索引后,重新建立相同的索引却报错。
请赐教。
------解决方案--------------------mark
------解决方案--------------------关注,帮顶
------解决方案--------------------先把函数导出,删除后再建,建完索引再重建函数