【问题标题】:how to call procedure inside package using function如何使用函数调用包内的过程
【发布时间】:2022-12-05 19:32:04
【问题描述】:

在这里,我为大于 0 且小于 20 的条件数创建了函数。我想使用包调用函数中声明的变量。当我在函数中给出值 5 意味着在过程中它应该在表中插入值 5 次。如何实现这一点。请为此提供解决方案。

create or replace package Body test2
as

function f1(no number) return number
is

var number;

Begin 
  
   if no>0 and no<20 Then
     var :=no;
     return 0;
    else
      dbms_output.put_line('The input is not matched with the requirement');
      return 1;
    end if;
   
end;

procedure p1
is

number1 number;

begin
  

for number1 in 1..var
  loop
    insert into val_insert(value,cur_date) values('ramji',TO_DATE(sysdate, 'dd/mm/yyyy hh24:mi:ss'));
  end loop;
end;

end;

【问题讨论】:

    标签: plsql


    【解决方案1】:

    您可能需要在包体中(在所有过程和函数之外)声明一个变量,以便在函数和过程之间共享该值。只需将 var: number; 行移到 function 行之前。

    【讨论】:

      猜你喜欢
      • 2021-08-07
      • 1970-01-01
      • 2019-05-16
      • 1970-01-01
      • 2016-03-23
      • 2016-03-31
      • 1970-01-01
      • 1970-01-01
      • 2012-10-13
      相关资源
      最近更新 更多