如何在 tableplus 中创建函数或过程
Posted
技术标签:
【中文标题】如何在 tableplus 中创建函数或过程【英文标题】:how to create a function or a procedure in 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;
【问题讨论】:
【参考方案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
是谁?是你吗?如果是这样,您可以省略它。如果是其他人,那么您必须获得在其架构中创建对象的权限。以上是关于如何在 tableplus 中创建函数或过程的主要内容,如果未能解决你的问题,请参考以下文章
如何从 SQL 脚本、JDBC 或 Spring JdbcTemplate 在 MySQL 中创建函数?