tests sur requetes dans une procedure stockée
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 :
Code:
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;
/ |
merci d avances pour votre aide et vos eclaircissements
OOPS j oubliais le preincipal : je suis sur ORACLE 9i