Bonjour,
J'ai une table resource ( varchar(125) url ) pour laquelle les urls peuvent contenir une astérisque et dont je dois extraire toutes les url qui correspondent à ma demande.
Par exemple, j'ai dans ma table les urls suivantes : "*.css, *.js, home.html, private/test.html, private/*.do" et je reçois la chaîne suivant : "test.css" et je devrais récupèrer "*.css" (plus les infos qui vont avec et que je ne vous ai pas mis)
Mais je ne vois pas du tout comment faire ce genre de choses simplement... L'un d'entre vous à t'il une idée/piste/solution ?
Merci
Edit :
Pardon SQLPro de ne pas avoir respecté votre charte.
Le conetxte : Ma table resources contient des urls qui liées par un table de relations à différentes rôles. Lorsqu'un utilisateur tente d'accéder à une page web, je récupère ces rôles et voudrais récupèrer les urls accessibles par ces rôles. Pour éviter d'avoir à encoder chaque url dans ma table, je veux utiliser des wildcards.
Sgbdr : Sans Importance. Actuellement PostgreSQL mais je dois rester indépendant du sgbr (ma requête seras exécuté via Hibernate)
Table(s) :
Ce que je voudrais obtenir :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 CREATE TABLE resources ( url CHARACTER VARYING(125) NOT NULL, description CHARCATER VARYING(255), CONSTRAINT pk_resources PRIMARY KEY (url) ); INSERT INTO resources (url, description) VALUES ('*.css', 'Feuilles de styles'); INSERT INTO resources (url, description) VALUES ('*.js', 'Scripts clients'); INSERT INTO resources (url, description) VALUES ('home.htm', 'Page de démarrage'); INSERT INTO resources (url, description) VALUES ('private/test.html', ''); INSERT INTO resources (url, description) VALUES ('private/*.do', ''); -- La table de relation, tout comme la table des rôles n'ont aucun intérêt -- je ne les ai donc pas décrites.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 -- Le résultat attendu pour une requête sur 'main.css' (sans la jointure) url description ------------- ------------- *.css Feuilles de styles -- Le résultat attendu pour une requête sur 'private/additem.do' (sans la jointure) url description ------------- ------------- private/*.do

Répondre avec citation









Partager