执行存储的函数而不需要知道 registerOutParameter 在JAVA中。

huangapple 未分类评论45阅读模式
英文:

Execute stored function without knowing registerOutParameter In JAVA

问题

CallableStatement cstmt = connection.prepareCall("{call ?:= MyFunctionName('value1','value2')}");
cstmt.registerOutParameter(1, OracleTypes.?); // 这里
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;
英文:

I'm calling a stored function but i don't know the return type of the function. It can be NUMBER,VARCHAR,CURSOR or DATE. so I don't know the registerOutParameter() type. help me out to resolve the problem

CallableStatement cstmt = connection.prepareCall("{call ?:= MyFunctionName('value1','value2')}");
cstmt.registerOutParameter(1, OracleTypes.?); // here 
cstmt.execute();

Demo stored-function :

CREATE OR REPLACE FUNCTION IDK.MyFunctionName(param1 VARCHAR2, param2 VARCHAR2) 
RETURN NUMBER 
AS 
  V_FLAG NUMBER;
BEGIN 
  V_FLAG := 5;
  RETURN V_FLAG;
END;

huangapple
  • 本文由 发表于 2020年4月7日 15:30:01
  • 转载请务必保留本文链接:https://java.coder-hub.com/61074867.html
匿名

发表评论

匿名网友

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

确定