Variable dans une procédure [MySQL] - SQL/NoSQL - Programmation
MarshPosté le 09-06-2005 à 13:37:31
Salut à tous.
Bon je rencontre un problème lors de la création de la procdure ci-après.
Cette dernière se crée correctement mais lors de son exécution, aucune donnée n'est retournée dans la variable HeureTot, et donc les données insérées dans ma table sont incomplètes (une de mes colonnes n'étant jamais renseignée.
J'ai essayé de mettre un Declare mais ce 'est toujurs pas concluant.
Donc si quelqu'un à la solution à ce problème...
Citation :
create or replace procedure TotTrav (proc_immat string,proc_proj string) is HeureTot number(3); Immatricule Char(5);
begin
select numimmat into Immatricule from HeureProj@DBLBASE_Prod where numimmat = proc_immat and CodProjet = proc_proj;
select sum(NbHeureProj) into HeureTot from Travailler t where t.numimmatricule = proc_immat and t.codeProjet = proc_proj;
update HeureProj@DBLBASE_Prod set heuretotal=heuretot where numimmat=proc_immat and codProjet=proc_proj;
exception when NO_DATA_FOUND Then select sum(NbHeureProj) into HeureTot from Travailler t where t.numimmatricule = proc_immat and t.codeProjet = proc_proj;
insert into HeureProj@DBLBASE_Prod values (proc_immat,proc_proj,HeureTot);
Marsh Posté le 09-06-2005 à 13:37:31
Salut à tous.
Bon je rencontre un problème lors de la création de la procdure ci-après.
Cette dernière se crée correctement mais lors de son exécution, aucune donnée n'est retournée dans la variable HeureTot, et donc les données insérées dans ma table sont incomplètes (une de mes colonnes n'étant jamais renseignée.
J'ai essayé de mettre un Declare mais ce 'est toujurs pas concluant.
Donc si quelqu'un à la solution à ce problème...
create or replace procedure TotTrav (proc_immat string,proc_proj string) is
HeureTot number(3);
Immatricule Char(5);
begin
select numimmat into Immatricule
from HeureProj@DBLBASE_Prod
where numimmat = proc_immat
and CodProjet = proc_proj;
select sum(NbHeureProj) into HeureTot
from Travailler t
where t.numimmatricule = proc_immat
and t.codeProjet = proc_proj;
update HeureProj@DBLBASE_Prod
set heuretotal=heuretot
where numimmat=proc_immat and codProjet=proc_proj;
exception
when NO_DATA_FOUND Then
select sum(NbHeureProj) into HeureTot
from Travailler t
where t.numimmatricule = proc_immat
and t.codeProjet = proc_proj;
insert into HeureProj@DBLBASE_Prod values
(proc_immat,proc_proj,HeureTot);
end;
/