Subject Re: [firebird-support] Re: Little pb with suspend
Author Martijn Tonies
Hi,

> No it doesn't
> Thanks for reply,

From reading the source, I'd say it should return
one row of data. Does it do that? If not, I'd
say the
" for select idpilote
> > > from affectation
> > > where
> > > idpilote=:pilotenum"

doesn't return any data, which conflicts with your
"IF" statement.

> > >
> > > Alter procedure nb_affectation(pilotenum smallint)
> > > returns(pilnb smallint,nb_aff smallint)
> > > as
> > > declare variable tour smallint;
> > > begin
> > >
> > > nb_aff=0;
> > > if ((pilotenum is null) OR (not exists (select 1 from pilote where
> > > idpilote=:pilotenum))) then
> > > exception data_error;
> > > else
> > > begin
> > >
> > > for select idpilote
> > > from affectation
> > > where
> > > idpilote=:pilotenum
> > > into : piln
> > > do
> > > begin
> > > nb_aff=nb_aff + 1;
> > > end
> > >
> > > suspend;
> > >
> > > end
> > > end !!
> > > set term; !!

With regards,

Martijn Tonies
Database Workbench - developer tool for InterBase, Firebird, MySQL & MS SQL
Server.
Upscene Productions
http://www.upscene.com