Sqlserver
 sql >> Base de données >  >> RDS >> Sqlserver

Activer la recherche en texte intégral sur la vue avec jointure interne

Vous ne pouvez créer un index de texte intégral que sur un vue indexée , c'est pourquoi vous obtenez l'erreur. Pour créer une recherche de texte intégral sur une table ou une vue, celle-ci doit avoir un index unique, à colonne unique et non nullable.

En d'autres termes, vous devriez créer votre vue comme ceci :

CREATE VIEW ViewSearch WITH SCHEMABINDING AS
SELECT Persons.P_Id AS ID, Persons.LastName, Persons.FirstName, Orders.OrderNo
    FROM Persons
    INNER JOIN Orders ON Persons.P_Id=Orders.P_Id
GO
CREATE UNIQUE CLUSTERED INDEX IX_ViewSearch ON ViewSearch (ID)

La recherche de texte intégral SQL crée un index de texte intégral via un processus appelé population, qui remplit l'index avec des mots et les emplacements où ils se trouvent dans vos tables et vos lignes. C'est pourquoi vous avez besoin d'un champ qui vous identifiera de manière unique à chaque ligne et c'est pourquoi vous devez indexer la vue.

Plus d'informations ici .