Trong SQL Server 2005, tôi đang cố gắng sử dụng chức năng do người dùng xác định trong chế độ xem được lập chỉ mục sẽ được sử dụng trong chỉ mục toàn văn. Tôi đã có thể làm cho UDF làm việc với một thủ tục được lưu trữ và khung nhìn được đề cập đến. Nhưng, khi tôi cố gắng tạo chỉ mục trên chế độ xem, tôi nhận được lỗi sau ...Không thể tạo chỉ mục trên chế độ xem với chức năng do người dùng xác định trong SQL Server
Không thể tạo chỉ mục trên chế độ xem "DevDatabase.dbo.View_PersonSearch" vì chế độ xem thực hiện người dùng hoặc truy cập dữ liệu hệ thống.
Tôi bị bối rối bởi điều này. Dưới đây là một ví dụ về những gì tôi đang cố gắng làm. Tôi có thiếu cái gì đó hay điều này thậm chí có thể?
User Defined Function
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
ALTER FUNCTION [dbo].[GetCurrentImage](@Person_ID int)
RETURNS int
WITH SCHEMABINDING
AS
BEGIN
-- Declare the return variable here
DECLARE @Img_ID int
SET @Img_ID = (**sql that selects image**)
RETURN @Img_ID
END
GO
View với tạo chỉ mục
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
ALTER VIEW [dbo].[View_PersonSearch]
WITH SCHEMABINDING
AS
SELECT Person_ID,
(**Select fields to search on**) AS SearchArea,
dbo.GetCurrentImage(Person_ID) AS FK_Img_ID
FROM dbo.Person
GO
CREATE UNIQUE CLUSTERED INDEX Index_Person_ID ON [View_PersonSearch](Person_ID)
GO
ahhh ... Tôi hiểu ngay bây giờ. Cảm ơn bạn đã đưa nó vào ánh sáng cho tôi. – Eddie
Vậy giải pháp là gì? –
Tôi cũng thực sự muốn biết bạn đã vượt qua vấn đề này như thế nào. – Jeremy