首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在pl/sql中按变量使用函数名

在pl/sql中按变量使用函数名
EN

Stack Overflow用户
提问于 2015-01-28 06:34:37
回答 1查看 748关注 0票数 0

我正在编写PL/SQL代码,我的目的是声明带有定义的函数,然后将其赋值给变量,然后使用该变量调用它。

代码语言:javascript
复制
 declare
 func varchar2(50);
 function add(a NUMBER,b NUMBER)
 return BOOLEAN is
 c NUMBER; 
 begin
 c := a+b;
 dbms_output.put_line(c);
 end add;
 begin
 func :='add'; or func :=add;
 if (func(10,20)=false) then
     dbms_output.put_line('false statement');
 else
    dbms_output.put_line('true statement');
 end if;
end;

但这不管用。所以我不知道如何将函数赋值给变量。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-01-28 08:04:43

您应该使用所需的函数调用构建一个匿名块,然后使用EXECUTE调用它。不过,您应该知道该函数有多少参数。

就像这样:

代码语言:javascript
复制
DECLARE
  func VARCHAR2(20);
  value1 NUMBER := 10;
  value2 NUMBER := 20;
  plsql_block VARCHAR2(500);
  out_value NUMBER;  
BEGIN
  func := 'add';

  plsql_block := 'BEGIN  :v := ' || func || '(:v1,:v2); END;';      

  EXECUTE IMMEDIATE plsql_block USING OUT out_value, IN value1, value2;

 IF out_value > 0 THEN
   dbms_output.put_line('TRUE statement');
 ELSE
   dbms_output.put_line('FALSE statement');
 END IF;
END;
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/28186085

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档