4

MS SQL Server 2005: table1 possède un index de texte intégral. Je souhaite exécuter plusieurs recherches freetexttable dans une seule requête, mais les deux tentatives échouent. toute aide serait appréciée Merci! p.s. Je suis prêt à mettre à niveau vers sql 2008 s'il corrige cela :)CROSS APPLY un FREETEXTTABLE

CREATE FUNCTION fnt_FullTextSearch (@s NVARCHAR(4000)) 
RETURNS TABLE 
AS 
    RETURN 
    (SELECT [key], [rank] 
     FROM FREETEXTTABLE(table1, *, @s)) 

DECLARE @terms TABLE (term VARCHAR(MAX)) 
INSERT INTO @terms VALUES ('flu') 
INSERT INTO @terms VALUES ('acid') 

-- The inline function "..." cannot 
-- take correlated parameters or subqueries 
-- because it uses a full-text operator. 
SELECT ft.[key], ft.[rank] 
    FROM @terms 
     CROSS APPLY fnt_FullTextSearch(term) ft 

--syntax error on term 
SELECT ft.[key], ft.[rank] 
    FROM @terms 
     CROSS APPLY FREETEXTTABLE(table1, *, term) 
+1

@ user433342: Pouvez-vous ajouter l'erreur que vous obtenez? – Mulki

Répondre

0

Peut-être parce que vous avez manqué l'alias sur la deuxième déclaration? Cela semble trivial ... mais je ne vois aucune autre raison pour laquelle il devrait échouer!