gpt4 book ai didi

oracle - 是否可以在存储过程中使用 "return"?

转载 作者:行者123 更新时间:2023-12-04 02:53:25 30 4
gpt4 key购买 nike

 CREATE PROCEDURE Pname(in_Tid IN VARCHAR2,in_IP IN VARCHAR2,outstaticip OUT VARCHAR2,outcount OUT NUMBER)
AS
BEGIN
select STATIC_IP into outstaticip from OP_TTER_MAPPING where TERMINAL_ID = in_Tid;
if in_IP = outstaticip then
return 1;
else
select COUNT(*) into outcount from OP_TTER_MAPPING where DYNAMIC_IP_LOW <= in_IP AND DYNAMIC_IP_HIGH >= in_IP AND TERMINAL_ID = in_Tid;
if outcount = 1 then
return 1;
else
return 0;
end if;
end if;
END;
  • 是否可以像上面那样在存储过程中使用 return ?
  • 如果我们可以使用 return,我如何在 Executesql("begin Pname(----)END") 中获得该返回值方法

  • 编辑

    现在我像这样在存储过程中编辑了我的返回值,我做对了吗?
    CREATE PROCEDURE P_ValidateTIDIP(in_Tid IN VARCHAR2,in_IP IN VARCHAR2,outstaticip OUT VARCHAR2,outcount OUT NUMBER,outretvalue OUT NUMBER)
    AS
    BEGIN
    select STATIC_IP into outstaticip from OP_TTER_MAPPING where TERMINAL_ID = in_Tid;
    if in_IP = outstaticip then
    outretvalue:=1;
    else
    select COUNT(*) into outcount from OP_TTER_MAPPING where DYNAMIC_IP_LOW <= in_IP AND DYNAMIC_IP_HIGH >= in_IP AND TERMINAL_ID = in_Tid;
    if outcount = 1 then
    outretvalue:=1;
    else
    outretvalue:=0;
    end if;
    end if;
    END;

    最佳答案

    在存储过程中,您使用 OUT 返回值参数 .正如您在示例中定义了两个变量:

       outstaticip OUT VARCHAR2, outcount OUT NUMBER

    只需将返回值分配给输出参数,即 outstaticipoutcount并从调用位置访问它们。我的意思是:当你调用存储过程时, 您还将传递这两个变量。在存储过程调用之后,变量将填充有返回值。

    如果你想拥有 RETURN value作为 PL/SQL 调用的返回,然后使用 FUNCTION . 请注意,万一您只能返回一个变量作为返回变量。

    关于oracle - 是否可以在存储过程中使用 "return"?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13225532/

    30 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com