Recherche par mots clés avec ORACLE
Cinamon
-
kikoooooooo -
kikoooooooo -
Bonjour,
J'ai à priori un soucis de synthaxe avec ma procédure PL/SQL de recherche par mots clés dans ma table LIVRE. Ma procédure est de la forme:
create or replace procedure rechercher(mot1 VARCHAR) IS
monTitre VARCHAR(50);
BEGIN
SELECT titre INTO monTitre
FROM livre
WHERE UPPER(monTitre) LIKE '%mot1%';
EXCEPTION
WHEN no_data_found THEN
DBMS_OUTPUT.PUT_LINE('Aucun livre ne correspond à votre
recherche');
WHEN others THEN
NULL;
END rechercher;
/
LE problème, c'est que ma requete ne trouve jamais aucun livre !! Même si en paramêtre je rentre un mot qui figure dans le titre de mon livre ! Y a t'il un pb dans ma façon d'écrire ma requete ???
Merci pour votre aide !!!
Si ça peut être utile ma table livre est de la forme :
create table livre(
id_livre number not null primary key,
titre varchar(50)
);
J'ai à priori un soucis de synthaxe avec ma procédure PL/SQL de recherche par mots clés dans ma table LIVRE. Ma procédure est de la forme:
create or replace procedure rechercher(mot1 VARCHAR) IS
monTitre VARCHAR(50);
BEGIN
SELECT titre INTO monTitre
FROM livre
WHERE UPPER(monTitre) LIKE '%mot1%';
EXCEPTION
WHEN no_data_found THEN
DBMS_OUTPUT.PUT_LINE('Aucun livre ne correspond à votre
recherche');
WHEN others THEN
NULL;
END rechercher;
/
LE problème, c'est que ma requete ne trouve jamais aucun livre !! Même si en paramêtre je rentre un mot qui figure dans le titre de mon livre ! Y a t'il un pb dans ma façon d'écrire ma requete ???
Merci pour votre aide !!!
Si ça peut être utile ma table livre est de la forme :
create table livre(
id_livre number not null primary key,
titre varchar(50)
);
A voir également:
- Recherche par mots clés avec ORACLE
- Recherche automatique des chaînes ne fonctionne pas - Guide
- Recherche par image - Guide
- Telecharger windows 8.1 avec clé d'activation gratuit - Guide
- Retrouver un film avec des mots - Télécharger - Divers TV & Vidéo
- Je recherche une chanson - Guide
SELECT titre
FROM livre
WHERE UPPER(titre) LIKE UPPER('%fl%');
MAIS le probleme (à savoir pas de résultats au final) persiste qd j'intègre le code à la procédure de la façon suivante :
create or replace procedure rechercher(mot1 VARCHAR) IS
monTitre VARCHAR(50);
BEGIN
SELECT titre INTO monTitre
FROM livre
WHERE UPPER(monTtitre) LIKE UPPER('%mot1%');
EXCEPTION
WHEN no_data_found THEN
DBMS_OUTPUT.PUT_LINE('Aucun livre ne correspond à votre recherche');
WHEN others THEN
NULL;
END rechercher;
/
Je ne suis pas sûr de la façon dont je récupère 'mot1' et monTitre, est-ce bien correct ?
Tu as testé ta requête en dehors de PL/SQL ? Directement en SQL sur ta base ?
Si elle marche, j'ai plus de solution...