Bonjour,

Je suis débutant, j'ai du mal à comprendre ce que fait la procédure suivante :
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
24
25
26
27
28
//Ici on génére ou remplace la procédure "etl_VEN".
 
CREATE OR REPLACE PROCEDURE etl_VEN
IS
//Ici on définit le curseur et son tri ?=> Qu'implique l'ordre dans lequel on écrit les champ ?
CURSOR CUR__VEN IS SELECT CODESOCIETE, CODE_CIAL, CODE_DESCR FROM LST_CIAL;
 
//Ici on définit des variables de type texte avec des longueurs spécifiques
  CC varchar(10);
  SC varchar(8);
  CD varchar(30);
 
BEGIN
//Ici on indique que l'on va passer par chaque ligne de la table dans l'ordre du curseur
FOR enr__VEN IN CUR__VEN
LOOP
 
//Ici on stocke la valeur des champs dans les variables
  CC := enr__VEN.CODESOCIETE;
  SC := enr__VEN.CODE_CIAL;
  CD := enr__VEN.CODE_DESCR;
 
//Ici on met à jour la table _VEN avec le résultat du curseur.
INSERT INTO _VEN (champ1,champ2,champ3) values (SC,CC,CD);
 
END LOOP;
 
END;
mes commentaires sont ils justes, quel est l'intéret de passer par cette procédure plutot que par un CREATE AS sachant que ma BDD ou par un export/import sachant qu'hormis une contrainte primaire sur la table source il n'y a rien de différent.
Les procédures sont elles plus fiables ?