【问题标题】:how to create a function or a procedure in tableplus如何在 tableplus 中创建函数或过程
【发布时间】:2020-02-21 01:43:29
【问题描述】:

我正在尝试在表中创建一个简单的 oracle 函数,并且我总是在

中收到以下错误

“查询 1 错误:ORA-24344: 编译错误成功”

以下是我用来执行的功能。

CREATE OR REPLACE EDITIONABLE FUNCTION "PMD_OWNER"."GET_SUM"
  (first_num INT, second_num INT) 
return INT 
IS 
  var_ret INT;  
BEGIN  
  var_ret := first_num + second_num  ;    
  return var_ret; 
END GET_SUM;

【问题讨论】:

    标签: oracle function stored-procedures table-plus


    【解决方案1】:

    我怀疑您的 Oracle 数据库版本低于 12c。 EDITIONABLE 在 11g 或更低版本中无法使用 - 我建议您删除该关键字。

    CREATE OR REPLACE FUNCTION pmd_owner.get_sum (first_num INT, second_num INT)
       RETURN INT
    IS
       var_ret  INT;
    BEGIN
       var_ret := first_num + second_num;
       RETURN var_ret;
    END get_sum;
    

    另外——尽管与你的问题无关——不要习惯在 Oracle 对象中使用双引号;在问题出现之前避免问题。

    【讨论】:

    • 我仍然遇到同样的错误。 “错误:ORA-24344:编译错误成功”。相同的语句在其他数据库软件如 Dbvever 中也适用,在 dbvever 中我们执行额外的步骤以使函数创建成功,我们在创建函数后右键单击并编译函数。我在 table plus 中找不到类似的选项。你知道有什么命令可以用来编译函数吗?
    • 尝试运行select * From user_errors;,它将显示您遇到的错误。因为,这个函数没有任何错误也许跟主人有关; pmd_owner是谁?是你吗?如果是这样,您可以省略它。如果是其他人,那么您必须获得在其架构中创建对象的权限。
    猜你喜欢
    • 2013-05-06
    • 1970-01-01
    • 1970-01-01
    • 2020-07-12
    • 1970-01-01
    • 2016-08-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多