Bonjour.

J'ai la requête suivante qui marche sans problème :
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
DECLARE
 
	 TYPE Tab1 IS TABLE OF taches_p.nom_tache%TYPE;
	 v$tab Tab1;
 
BEGIN
 
	 SELECT nom_tache BULK COLLECT INTO v$tab FROM taches_p;
 
	 FOR i IN v$tab.FIRST .. v$tab.LAST
	 LOOP
			dbms_output.put_line(v$tab(i));
	 END LOOP;
 
END;
Mais celle-là elle ne marche pas :
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
-- Created on 12/02/2008 by IRAS 
DECLARE
 
	 TYPE Tab1 IS TABLE OF taches_p.nom_tache%TYPE;
	 v$tab Tab1;
 
	 req VARCHAR2(128);
 
BEGIN
 
	 req := 'SELECT nom_tache BULK COLLECT INTO v$tab FROM taches_p';
 
   execute immediate req bulk collect into v$tab;
 
	 FOR i IN v$tab.FIRST .. v$tab.LAST
	 LOOP
			dbms_output.put_line(v$tab(i));
	 END LOOP;
 
END;
J'utilise Oracle 8 pour information. J'ai lancé la deuxième requête sous Oracle 9 et ça a marché. J'en conclus donc que c'est un problème de version.

Mon problème c'est que je ne peux pas paramètrer le select dans la première requête.

Quelqu'un connaîtrait-il une solution ?

Merci.