le problème va être le choix des tags.
si tu les choisis simplement par recherche dans le titre / corps de la news ça peux être "relativement simple" mais je maintient qu'une procédure stockée sera l'élément adapté a ce que tu souhaite faire et surtout réutilisable.
ta procédure devrait,
parcourir tout les tuples la table,
vérifier si un tag se trouve dedans et insérer dans la table "tagsnews" les correspondances.
dit comme cela c'est simple mais nécessite quand même pas mal de boulot.
je te conseil
- une requête préparée pour l' insertion (insert into tagsnew values (null, ?, ?); par exemple).
- une première requête afin d'alimenter un tableau ou un curseur que tu va parcourir pour chaque élément de la table.
- une requête qui select tout les news et pour chaque news (donc un curseur) tu va vérifier la présence de l'un ou l'autre des tags dans le titre ou texte et si c'est le cas tu place les deux variables que va utiliser pour la requête préparée et tu l'exécute.
Les trucs en plus :
ajouter une requête qui vérifie que le couple ne soit pas présent ou alors utiliser le couple comme clef primaire ce qui va imposer l'unicité

dans ce cas attention de bien gérer les exceptions générée en cas de doublon pour ne pas arrêter la procédure en court de route

.
voir faire les deux
Attention ce que tu cherche à faire est réalisable mais risque de demander pas mal de ressource, il pourrait être intéressant de la faire en plusieurs fois
si tu souhaite que la chose soit réutilisable par la suite, je te conseil de créer une fonction qui va chercher les tags dans le titre / texte et qui va gérer l'insertion ou nom dans la tables "tagsnews". ensuite un p'tit trigger after insert sur la table news et le truc est automatique pas besoin de le gérer coté client (au risque des possible doublon que tu indique

).
@+
@+