【问题标题】:I cant create a stored procedure on DBeaver我无法在 DBeaver 中创建存储过程
【发布时间】:2020-12-08 04:19:42
【问题描述】:

我正在尝试使用 Dbeaver 在存储过程中为 Oracle 数据库创建一个包,但出现错误:

the object JHON_HERNANDEZ doesnt exist

ON 声明: 创建或替换包 JHON_HERNANDEZ 作为

elim_art(字符中的数字)

结束 JHON_HERNANDEZ;

身体: 创建或替换包体 JHON_HERNANDEZ 作为

创建或替换过程 elim_art (numero in char) 是 开始

dbms_output.put_line(numero);

结束; /

结束 JHON_HERNANDEZ;

结构有问题吗?它是一个 Dbeaver 错误? 我有这个: enter image description here

我给二次点击并创建一个新包,这会出现: 创建或替换包体 JHON_HERNANDEZ 作为 -- 包体 结束 JHON_HERNANDEZ;

当我尝试编译它时: 对象 JHON_HERNANDEZ 不存在 Sql=Alter package JHON_HERNANDEZ compile, OriginalSql= Alter package JHON_HERNANDEZ compile, Error Msg= ORA-04043: the object doesn't exist

请帮帮我...我有几天的时间

【问题讨论】:

  • 您是否创建了包规范?是的,我知道,你发布了它的代码,但是 - 你真的创建了它吗?
  • 我是 DBeaver 的新手......我该如何做那个规范?
  • 字面上执行CREATE OR REPLACE PACKAGE JHON_HERNANDEZ ... 块。
  • 好吧,我不使用dBeaver,所以我无法判断您这样做是对还是错。但是,你得到的错误表明你正在尝试创建一个包体,而它的规范不存在。由于您没有发布整个身体,请检查 JHON_HERNANDEZ 的所有外观。 但是:该错误(您发布的)是与 Oracle 相关(因此它具有 ORA-xxxxx 错误代码)还是与 dBeaver 相关?也许您试图在工具 (dBeaver) 本身中以错误的方式做某事?
  • 我已经用尝试执行块的结果更新了问题。

标签: oracle stored-procedures dbeaver


【解决方案1】:

根据您问题中的代码:

END CAC_JHON_HERNANDEZ;

如果你将包命名为JHON_HERNANDEZ,那么上面的行应该是:

END JHON_HERNANDEZ;

换句话说,它必须与包的名称匹配。

包规范中的过程名称也与包主体中的名称不匹配。

如果您在问题中发布的代码是您的实际代码,请尝试进行更改,看看是否能解决您的问题。

【讨论】:

  • 对不起,我忘了把包的全名...我已经更新了,谢谢你的帮助。你如何创建一个包,你能描述或展示一个例子吗?
  • @JhonHernandez 你读过Oracle数据库documentation吗?
  • 我没有时间,我被要求马上做存储过程......如果你知道什么,请告诉我
  • @JhonHernandez 你可以雇人为你做这件事。
【解决方案2】:

解决方案是: 关闭标签...它询问您是否要坚持,您说是

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-04-23
    • 1970-01-01
    • 1970-01-01
    • 2015-09-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-01-31
    相关资源
    最近更新 更多