Match()

cs_kalif Messages postés 362 Date d'inscription mardi 18 décembre 2001 Statut Membre Dernière intervention 24 août 2012 - 17 sept. 2010 à 16:50
OlivierTravail Messages postés 10 Date d'inscription jeudi 4 février 2010 Statut Membre Dernière intervention 12 février 2011 - 27 sept. 2010 à 00:46
Bonjour,

Je souhaiterai faire une recherche dans ma base de donnée... En cherchant sur google je m'aperçois que je dois utiliser la fonction match() mais elle n'est pas bien expliquer sur le web ... Quelqu'un peut m'expliquer comment elle fonctionne et qu'es ce qu'elle a de plus qu'un LIKE ?


voici un exemple:

1 | Voiture | Jaune
2 | Avion | Vert
3 | Velo | Rouge

Je souhaite que quand l'utilisateur recherche "Avon" ou "j ai une pomme rouge", la base me renvoi la ligne 2 et 3


merci de votre aide

1 réponse

OlivierTravail Messages postés 10 Date d'inscription jeudi 4 février 2010 Statut Membre Dernière intervention 12 février 2011
27 sept. 2010 à 00:46
Bonjour,
Le prédicat Match sert de test avant d'effectuer une opération du type insertion ou de suppression d'une ligne dans une table afin de valider que cette opération d'altération de la ligne n'engendre pas de problème d'intégrité dans la base de donnée (comme supprimer un client de la Table_Client qui a fait un achat dans la Table_Achat et se retrouver avec un achat dans Table_Achat qui n'a plus de lien dans Table_Client).
La requête s'écrit comme suit: ... WHERE ('TOTO', 'Bidule') MATCH (Select Client_ID , Produit_ID FROM Table_Achat )

Le prédicat SIMILAR peut être une bonne alternative: le cas numéro 2 de votre exemple: WHERE MoTRecherché SIMILAR TO '%rouge%' le premier cas devrait s'écrire: WHERE MoTRecherché SIMILAR TO '(Avon)|(Avion)'

OlivierTravail
0
Rejoignez-nous