As you see in my first mail, I have yet done it but it seems to not work
with functions more complex.
The error that I receive is
    General error;-3999 POS(1) Invalid parameter.

----- Original Message ----- 
From: <[EMAIL PROTECTED]>
To: "Matteo Gattoni" <[EMAIL PROTECTED]>
Sent: Tuesday, June 15, 2004 4:32 PM
Subject: Re: Varchar definition in functions


> You must use char(20) in place of varchar(20) in function parameters
>
>
>
> Matteo Gattoni wrote:
> > Hello,
> >    I'm using MaxDb version 7.5.01.00 and defining a function that has a
parameter VARCHAR(20) type.
> > When I create the function (in INTERNAL mode) as follow,
> >
> >     CREATE FUNCTION TEST (IN_OPERATOR VARCHAR(20)) RETURNS NUMBER AS
> >     BEGIN
> >     SELECT * FROM OPERATOR WHERE OPERATOR.K_OPERATOR = :IN_OPERATOR;
> >     RETURN 1;
> >     END;
> >
> > I receive the message:
> >     General error;-5016 POS(42) Missing delimiter: ).
> >
> > Deleting the dimension of the parameter IN_OPERATOR in the definition,
as follow
> >
> >     CREATE FUNCTION TEST (IN_OPERATOR VARCHAR) RETURNS NUMBER AS
> >     BEGIN
> >     SELECT * FROM OPERATOR WHERE OPERATOR.K_OPERATOR = :IN_OPERATOR;
> >     RETURN 1;
> >     END;
> >
> > I have the error:
> >     General error;-9000 POS(123) System error: Not yet
implemented:parameter of unknown size.
> > It seems that the parameter IN_OPERATOR needs to have a dimension
specified, but the syntax don't let me do that.
> > The only way to use this function is to define the parameter IN_OPERATOR
as CHAR(20), as follow.
> >
> >     CREATE FUNCTION TEST (IN_OPERATOR CHAR(20)) RETURNS NUMBER AS
> >     BEGIN
> >     SELECT * FROM PSF.OPERATOR WHERE OPERATOR.K_OPERATOR = :IN_OPERATOR;
> >     RETURN 1;
> >     END;
> >
> > Though this solution ,sometimes, (with functions more complex) seems to
not work, giving errors like
> >     General error;-3999 POS(1) Invalid parameter
> >
> > Thanks in advance for your responses.
> > Bye,
> >
> > *************************************
> > Matteo Gattoni
> > ICTeam S.p.A.
> > Via Azzano S.Paolo, 139
> > 24050 GRASSOBBIO (BG)
> > Tel.: +39 035 4232156
> > Fax: +39 035 4522034
> > e-mail: [EMAIL PROTECTED]
> > *************************************
>
>


-- 
MaxDB Discussion Mailing List
For list archives: http://lists.mysql.com/maxdb
To unsubscribe:    http://lists.mysql.com/[EMAIL PROTECTED]

Reply via email to