bonjour,
J'ai un script a faire pour faire un script PL/SQL.
Le but est de ne pas reproduire le même code mais de factoriser, c'est pourquoi je fais une boucle.
regardez le script et ensuite j’explique ce que je veux faire.
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
DECLARE
	requete VARCHAR2(5000);
	nomTable VARCHAR2;
BEGIN

Begin
    For i in 1..3
	Loop
		requete := 'create or replace view nomTable as select a.*, x.id as session_id, s.rid_user_param_valid as id_utilisateur ';
		requete := requete || 'FROM observation a, session d, session_par f, builder_session x, adversaire s ';
		requete := requete || 'WHERE a.id =  s.rid_ADV_477 ';
		requete := requete || 'AND s.rid_sess_param_valid = d.id ';
		requete := requete || 'AND s.rid_sess_param_invalid = f.id ';
		requete := requete || 'and d.date_effet <= x.date_effet ';
		requete := requete || 'and  f.date_effet> x.date_effet ';
		requete := requete || 'WITH READ ONLY ';
		EXECUTE IMMEDIATE requete;
	End loop ;
END;
/
donc je veux mettre dans ma variable plusieurs nom de table(Employes,factures,commandes,devis)
je veux a chaque boucle on passe un nom de table et executer la requete et ainsi de suite.
Donc je sais pas comment initialiser la boucle et je ne sais pas comment mettre UN seul nom de table dans ma variable nomTable.
Merci de votre aide.
J'apprend PL/SQL (c'est pourquoi mon niveau bas )
Cordialement