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.
donc je veux mettre dans ma variable plusieurs nom de table(Employes,factures,commandes,devis)
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; /
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
Partager