SQL Server 2005에서 전체 텍스트 인덱스에서 사용할 인덱싱 된 뷰에서 사용자 정의 함수를 사용하려고합니다. UDF를 저장 프로 시저 및 문제의 뷰로 작업 할 수있게되었습니다. 나는 다음과 같은 오류가 뷰에 인덱스를 ... 만들려고 할 때,SQL Server에서 사용자 정의 함수를 사용하여보기에 인덱스를 만들 수 없습니다.
는 는보기 "DevDatabase.dbo.View_PersonSearch"에 인덱스를 만들 수 없습니다 뷰에 의해 참조 기능 "dbo.GetCurrentImage는"사용자를 수행하기 때문에 또는 시스템 데이터 액세스.
나는 이것으로 난처한 상황에 처해있다. 아래는 내가하려는 일의 예입니다. 나는 무엇인가 놓치고 있는가? 아니면 심지어 이것이 가능한가?
사용자 정의 함수
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
인덱스 생성과보기
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
아 ... 이제 알겠습니다. 저를 위해 빛을 가져 주셔서 감사합니다. – Eddie
그래서 해결책은 무엇입니까? –
나는 또한이 문제를 어떻게 극복했는지 실제로 알고 싶습니다. – Jeremy