Java Regex sur requête SQL - SELECT FROM
Bonjour à tous,
J'ai un soucis avec mon regex et je suis coincée depuis un jours.
J'ai une requête sql complexe sur plusieurs lignes, je dois récupérer les tables qui se trouvent après le FROM d'un SELECT.
Ceci est une partie de la requête :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
| DELETE FROM hrep_item_prestatie_year_activitylevel;
INSERT INTO hrep_item_prestatie_year_activitylevel(orgnum, activity_id, mandays, YEAR)
SELECT hrep_item_prestatie_year.orgnum,
hrep_item_prestatie_year.activity_id,
SUM(hrep_item_prestatie_year.mandays),
hrep_item_prestatie_year.year
FROM hrep_item_prestatie_year
GROUP BY orgnum, activity_id, YEAR;
INSERT INTO hrep_item_prestatie_year_activitylevel(orgnum, activity_id, mandays, YEAR)
SELECT claudia.orgnum,
claudia.activity_id,
SUM(claudia.mandays),
claudia.year
FROM claudia
GROUP BY orgnum, activity_id, YEAR;
SELECT a.asset,
a.nsn,
a.serial AS MAC,
(SELECT c.value FROM MRQR_DYNAMIC_CHARACTERISTICS c WHERE c.udt_table = 'ASSETS' AND c.name = 'ASS_CIS_INSTALLTYPE' AND c.descriptor_value = a.asset) AS INSTALL,
FROM MRQR_ASSETS a; |
Je dois pouvoir récupérer les tables :
- hrep_item_prestatie_year
- claudia
- MRQR_DYNAMIC_CHARACTERISTICS
- MRQR_ASSETS
J'ai essayé avec plusieurs regex, mais du fait que j'ai le FROM après plusieurs ligne du SELECT ça ne marche pas...
Et je dois absolument lui dire que c'est le FROM du SELECT si non il ira me prendre la table de la première ligne (celle du DELETE).
En utilisant "(?m)(?s)SELECT\\s.*\\W+FROM?\\s+(\\w*)" je récupère seulement la dernière table MRQR_ASSETS.
Pouvez-vous m'aider svp?
Merci d'avance,
Claudia