Bonjour,
Je dois créer une requête SQL et je ne trouve pas la solution.
Le but est de savoir si le dernier caractère des données des colonnes VILLE, RUE et REGION est un A.
Le problème c'est que les colonnes VILLE, RUE et REGION sont présentes dans potentiellement plusieurs tables dans mon application CHAUSSURES.
J'ai accès à une table de référence dans ma base de données qui contient le nom des tables contenant les colonnes VILLE, RUE et REGION mais cette table peut être amené à évoluer avec le temps mais elle conserve la forme de :
Nom_Table // Nom_Colonne
TABLE_A // VILLE
TABLE_A // RUE
TABLE_B // VILLE
TABLE_B // REGION
etc
Je pensais donc utiliser un CURSOR pour générer dans une variable l'ensemble des tables et des colonnes sur lesquelles la requête va se baser ce qui donnerait un :
1 2 3 4 5
| CURSOR curseur IS
SELECT regexp_substr(
(SELECT Nom_Colonne FROM &P_E_C_Table_Param. WHERE NOM_TABLE = '&P_E_C_Table_Param.'),'[^, ]+', 1, LEVEL) FROM dual
CONNECT BY regexp_substr(
(SELECT Nom_Colonne FROM &P_E_C_Table_Param. WHERE NOM_TABLE = '&P_E_C_Table_Param.'), '[^, ]+', 1, LEVEL) IS NOT NULL; |
Mais je n'arrive pas à faire appliquer la requête sur l'ensemble des colonnes VILLE, RUE et REGION de mon application CHAUSSURES. Je ne trouve pas la syntaxe adéquate en SQL :/
La requête devrait me sortir 0 si le dernier caractère des colonnes sélectionnées est un A et 1 si c'est autre chose.
Merci de votre aide ^^'
Partager