Bonjour tout le monde,
Ma version d'Oracle est la 10g
Donc je sais pas si le titre est très explicite mais voilà en fait j'essaie de faire une sorte de SQL dynamque si on peut dire...
J'ai une table qui contient des colonnes dont seules les dernieres lettres changent. J'ai en parametre de ma procedure ces 2 dernieres lettres et je fais un test sur la valeur de la colonne correspondante aux lettres que j ai passé en paramètre...
Et ce que je cherche à faire, c'est que à chaque fois que je lance ma procédure, je créé une varaible qui contient le nom de la colonne puis je fais un SELECT sur la colonne qui a la valeur de cette varaible...
Je sais pas si vous me suivez mais je vais mettre un peu de code pour vous aidez...
Donc comme vous voyez, j'avais mis des || pour recuperer la valeur mais ca n'a pas l'air d etre ca... Et il me dit qu il ne connait pas la colonne que je veux...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23 DECLARE --ca c'est la variable qui va contenir le nom de la colonne souhaitee w_label VARCHAR(15); BEGIN --donc je l instancie avec le debut commun aux colonnes et la valeur des --2 lettres passees en parametre w_label := 'COLONNE_'||p_lettres; --ensuite je veux utiliser la VALEUR de w_label pour faire un select sur la colonne souhaitée SELECT ||w_label FROM MA_TABLE EXCEPTION WHEN OTHERS THEN 'Erreur truc muche'; RAISE SORTIE; END;
Si vous avez 5 minutes et la solution...
Merci d avance![]()
Partager