Я вызываю хранимую функцию, но я не знаю тип возвращаемого значения функции. Это может быть NUMBER,VARCHAR,CURSOR
или DATE
. поэтому я не знаю тип registerOutParameter()
. помогите мне решить проблему
CallableStatement cstmt = connection.prepareCall("{call ?:= MyFunctionName('value1','value2')}");
cstmt.registerOutParameter(1, OracleTypes.?); // here
cstmt.execute();
Демонстрационная хранимая функция:
CREATE OR REPLACE FUNCTION IDK.MyFunctionName(param1 VARCHAR2, param2 VARCHAR2)
RETURN NUMBER
AS
V_FLAG NUMBER;
BEGIN
V_FLAG := 5;
RETURN V_FLAG;
END;