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]
*************************************