|
|
sybperl-l Archive
Up Prev Next
From: wlius <wlius at uclink4 dot berkeley dot edu>
Subject: Re: Calling a Stored Procedure with 30 parameters
Date: Feb 18 2000 7:57PM
>wlius writes:
> > >Wei Liu writes:
> > > > I'm using the CTlib for calling a stored procedure with 30
> > > > parameters. All these 30 params are of the same type and passed
>from an
> > > > array of strings. Is there any way that I can use a loop to go
>thru each
> > > > param instead of sending the param via $dbh individually 30 times?
>Thanks!
> > >
> > >How do you set the params at the moment?
> > >
> > >Do you use the ct_param() call?
> >
> >
> > Yes, indeed like this:
> >
> > $d->ct_param({name => '@arg_str1',
> > datatype => CS_CHAR_TYPE,
> > status => CS_INPUTVALUE,
> > value => $arg_str[0],
> > indicator => CS_UNUSED});
> >
> >
> > Now that I have @arg_str1 to @arg_str30 and they are the 30 elements of an
> > array @arg_str. What I am thinking is that using the above ct_param()
> > individually 30 times for these 30 params, though worked perfectly, may
> > seem a bit too much repetition. I have tried to use a loop by omitting the
> > 'name' in above ct_param() call but only got an error msg.
>
>for($i = 1; $i <= @arg_str; ++$i) {
> $d->ct_param({name => "\@arg_str$i",
> datatype => CS_CHAR_TYPE,
> status => CS_INPUTVALUE,
> value => $arg_str[$i-1],
> indicator => CS_UNUSED});
>}
>
>should do the trick...
>
Yes it worked well. Many thanks!
Wei
|