【问题标题】:How can I call a function inside a procedure in plsql如何在plsql的过程中调用函数
【发布时间】:2013-05-18 05:54:36
【问题描述】:

我想在过程中调用一个函数并获取它的值,这样我就可以在过程中使用,但我不知道该怎么做?? 有任何想法吗 ?? 我的函数如下,这个函数返回一个员工的 id 集合,这些员工的工资超出了最高或最低工资,我想在一个程序中使用这个值来将这些员工的工资更新为最低工资??

【问题讨论】:

  • 尝试使用 UPDATE 而不是存储过程的混搭来解决这个问题。当您说“此函数返回员工 ID 的集合”时,它是一个集合,最好通过 SELECT 语句获得。

标签: oracle function stored-procedures plsqldeveloper


【解决方案1】:
create or replace procedure P
    a_variable_name number;
begin
    a_variable := a_function('a parameter');
end;
/

【讨论】:

    【解决方案2】:
    declare
    
    procedure my_proc;
    

    function my_func 返回数是

    begin
    
    my_proc;
    
    return 3;
    
    end my_func;
    

    过程 my_proc 是

    begin
    
    dbms_output.put_line('22');
    
    end my_proc;
    
    begin
    
    dbms_output.put_line(my_func);
    
    end;
    

    【讨论】:

      【解决方案3】:

      这里是帮助您从过程中调用函数的示例代码。

          create or replace FUNCTION ADD_TEN(P_IN VARCHAR2) RETURN VARCHAR2
          AS
          L_RESULT VARCHAR2(4000);
          BEGIN
          L_RESULT:=P_IN+10;
          RETURN L_RESULT;
          END;
      
      
      
          create or replace PROCEDURE CALL_FUNCTON(P_IN VARCHAR2)
              AS
              L_FINAL_RESULT VARCHAR2(4000);
              BEGIN
              L_FINAL_RESULT:=ADD_TEN(P_IN);
              DBMS_OUTPUT.PUT_LINE(L_FINAL_RESULT);
              -- USE L_FINAL_RESULT IN YOUR BUSINESS LOGIC
              END;
      
      EXECUTE CALL_FUNCTON(5);
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2013-04-30
        • 1970-01-01
        • 2018-09-09
        • 1970-01-01
        • 2016-12-23
        • 1970-01-01
        • 2016-09-16
        相关资源
        最近更新 更多