我在Oracle中获得了一个函数,如下所示。但是我无法让它运行。
FUNCTION GetAdres (pCif NUMBER,
pAddressno NUMBER DEFAULT 0,
pAdrSerino NUMBER ,
pRAdres OUT T_ADRES%ROWTYPE,
pErrCode OUT NUMBER,
pErrMes OUT VARCHAR2
)
答案 0 :(得分:0)
认为你应该使用程序,而不是功能
Oracle函数可以使用另一种语法返回一个且只返回一个值。
CREATE FUNCTION GetAdres(parameter1 IN NUMBER, parameter2 IN NUMBER)
RETURN NUMBER
实际上,您可以在Oracle函数中使用OUT参数(我的错误),但无论如何您都需要一个唯一的返回类型。
但是
您可以在Oracle 过程 ...
中完美地使用多个OUT参数所以
解决方案1 (我会选择这个)
使用程序代替功能
解决方案2
创建自定义类型并将其用作返回类型。
create a custom type
CREATE TYPE my_type as object
(Adres VARCHAR2(100),
ErrCode NUMBER,
ErrMes VARCHAR2(250));
CREATE FUNCTION GetAdres (pCif NUMBER,
pAddressno NUMBER DEFAULT 0,
pAdrSerino NUMBER)
RETURN my_type;