bonjour, je me permet de faire appel a vous pour l'ecriture d'une procedure stockée.
comme d habitude je m'attaque a un truc enorme pour commencé... et j avoue que je ne sais pas trop comment debuté, j ai lu attentivement les cours sur les procédure, j ai l'impression d'etre avec un cas qui n'est pas d ecole.
en 2 mots voici le contexte :
j ai un dossier qui changer d etat celon s'il est utilisé (ou pas) il a plusieurs status qui dependent du status des objets qui l'utilisent.
voici donc l algo :
declaration de 2 arguments
libelle et tome
select count (*) from table_utilisation
where lib = @libelle
and tome =@tome
si le resultat de la requete est 0 alors je change le statue de mon dossier
si le resultat est >1 alors je fait mon test 2
test 2 est un select count et je fait pareil ... 7 fois avec des criteres differents
donc !!! si je ne m abuse mon code devrait ressembler a ceci :
merci d avances pour votre aide et vos eclaircissements
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
29
30
31
32
33
34 CREATE OR REPLACE PROCEDURE calcul (p_libelle VARCHAR2, p_tome VARCHAR2, p_user VARCHAR2) IS BEGIN IF ( select count (*) from table_utilisation where lib = @p_libelle and tome =@p_tome) = 0 THEN UPDATE DOSSIER_MODIF SET OP_DATE_MAJ= SYSDATE, OP_MODI=@p_user, DM_ETAT='Créé' where 1=1 and DM_REFERENCE = @p_libelle and DM_TOME = @p_tome) ELSE IF elect count (*) from table_utilisation where statue = 'OK' and lib = @p_libelle and tome =@p_tome) = 0 THEN UPDATE DOSSIER_MODIF SET OP_DATE_MAJ= SYSDATE, OP_MODI=@p_user, DM_ETAT='Maj' where 1=1 and DM_REFERENCE = @libelle and DM_TOME = @tome) ELSE END; /
OOPS j oubliais le preincipal : je suis sur ORACLE 9i
Partager