The INOUT parameters
HCL OneDB™ supports UDRs written in HCL OneDB SPL, Java™ or C that have multiple INOUT parameters. When an INOUT parameter is used, the bind value passed by the client for the INOUT parameter is passed to the UDR and the modified value is retrieved and returned to the client. The parameter can be of any data type that HCL OneDB supports, including user-defined types and complex types.
An example of a UDR with an INOUT parameter is:
CREATE PROCEDURE CALC ( INOUT Param1 float )
EXTERNAL NAME "$INFORMIXDIR/etc/myudr.so(calc)"
LANGUAGE C;
/* C code for the routine */
void calc ( mi_double_precision *Param1)
{
#define PI 3.1415;
Param1 *= PI;
return;
}
You can use INOUT parameters in the CREATE FUNCTION statement,
as shown in the following syntax:
CREATE FUNCTION func ([IN|OUT|INOUT] arg0 DataType, ...,
[IN|OUT|INOUT] argN DataType) RETURNING ReturnType;
...;...;...;
END FUNCTION;