begin process at 2012 05 26 21:33:08
  Trouver un code source :
 
dans
 
Accueil > Forum > 

SQL

 > 

SQL Server, MSDE, SQL Express

 > 

Requêtes

 > 

Requête FTS sur vue.


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Requête FTS sur vue.

mercredi 25 mars 2009 à 13:39:51 | Requête FTS sur vue.

gillou1664

Bonjour tout le monde.

Bon, je suis pas très bon en SQL et j'ai un petit soucis (enfin gros :p) :
J'essaie d'utiliser une fonction de recherche de texte intégral (full text search), mais ça ne marche pas :(

Alors voilà ma situation : J'ai pas mal de tables inclues dans une vue. Dans l'une d'entre elles, la table Cause, j'ai une colonne de type texte (varchar(max)) avec un index de texte intégral dessus.
Ca me permet notamment de faire des requêtes de ce genre :
[code]select * from Cause where contains(Nom_Cause, '"malaise"')[/code]
et en beaucoup plus rapide qu'un like (bon dans le cas d'un texte simple comme ça c'est pas flagrant, mais il suffit de mettre '"*malaise*"' à la place et là la différence avec un like est monstrueuse).

Le problème, c'est que dans mon cas, je n'utilise pas la table Cause toute seule. Je l'utilise principalement dans une vue qui l'inclue (la vue Vue_Evenements).
Or, quand je fais cette requête ci :
[code]select * from vue_evenements where contains(Nom_Cause, '"malaise"')[/code]
le moteur sql me dit que ce n'est pas autorisé parcequ'il n'y a pas d'index full text dans la vue(Msg 7601).

Or, quand j'appelle la requête SQL de la vue directement, ça marche nickel :
[code]SELECT     dbo.Evenement.Numero_Evenement AS [N° Evt],dbo.Cause.Nom_Cause AS Cause
FROM       dbo.Evenement LEFT OUTER JOIN dbo.Cause ON dbo.Evenement.Numero_Cause = dbo.Cause.Numero_Cause
where contains(Nom_Cause, '"malaise"')[/code]
(PS : Là c'est juste un extrait, la vraie vue contient beaucoup plus de tables.)

D'après ce que j'ai cru comprendre, si je veux utiliser une FTS (full text search) dans une vue, il va falloir que je crée un clustered index sur cette vue. Mais dans mon cas, je ne peux pas créer cet index parceque j'ai des outer joins et que SQL Server me le refuse.

Y a t-il un moyen d'appeller une recherche FTS sur une vue sans créer un index dessus? Pourquoi est-ce indispensable alors que l'appel de la requête sql constitutive de la vue avec une recherche FTS fonctionne elle parfaitement?

Gilles.

Mangez des gnous!


Cette discussion est classée dans : code, requête, vue, cause, dbo


Répondre à ce message

Sujets en rapport avec ce message

requête Insert Into [ par richch ] Salut,Est ce que je peux utiliser cette requête, si non quelle est l'erreur?SQL="insert into Article (code_Famille, lib_Pr, def_Pr, princ_Vertus, gluc Lier tables [ par piep14 ] Bonsoir, j'aurais une simple question pour vous : Je voudrais joindre des champs de tables différrentes. J'ai pour le moment la requête : Code : SEL Probleme requete [ par mathvez ] Bonjour j'ai une requete SQL:SELECT Emp_Code, Srv_Code, Sec_Code, Zon_Code, Emp_UserID,Max(datediff(day,isnull(Date_Debut,'2007-01-01'),isnull(Date_Fi TOP multiple en une seule requête... [ par soobook ] Bonjour,Cette question a peut-être déjà été posée, mais je n'ai pas trouvé, donc...Je souhaite créer une requête qui me renvoie chaque semaine le top VB.Net requête SQL qui ne fonctionne pas [ par MagDix ] Bonjour à tous... J'utilise une requête SQL qui fonctionne très bien pour l'enssemble de ma bd [code=vb]"Select * from Paiements Where Prix betwe requête sql [ par jodanielprince ] Select Code_Materiel, Count (Code_Materiel) AS NOMBRE INTO TEMP_MVT From Mouvement Group by C Requête vraiment spéciale [ par Marianne25 ] Bonjour, <p class="MsoNormal" style="MA Requête HELP!!! [ par blueangel ] code1, code2, code3, code42233229    411.80    2233231    12233229    411.80    2233232    19997 Vue sql server 2008 [ par mbagiella ] Bonjour à tous, J'ai une table des ventes avec comme colonne : Pays, Produit, Année, Mois, Qté Je voudrais faire une vue pour avoir comme colonne : sos code [ par soutata ] Bonjour, j'ai deux tabel sql : Dbo: Client numcli int libelleci varchar Dbo:Commande Numcmd:int numcli int je veux creer un trigger qui mod


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,562 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales