plsql:现有包编译和语法检查中的新函数



如何在plsql中编译在包内创建的新函数,以查看等语法错误

不能编译单个函数-编译整个包。

如果你担心的是在功能出现错误的情况下使整个包无效,那么

  • 创建一个独立函数(即在包外(
  • 调试它
  • 确定后(没有语法错误,按预期返回结果(,将其包含在包中

除了@Littefoot的建议之外,我还想说:使用合适的GUI。Oracle有一个名为sql developer的免费工具。它有一个很好的界面来编辑数据库对象(包/函数/过程/触发器(。它突出了错误,并有很好的文档记录(https://www.thatjeffsmith.com/sql-developer/)。请注意,is并没有指出语法错误,但一旦您稍微习惯了使用pl/sql,它们就会很快变得显而易见。

在Oracle中,编译过程/函数/包之后。如果出现错误,则命令将返回消息:

ORA-24344: success with compilation error

然后您可以使用:

SHOW ERRORS

SELECT * FROM USER_ERRORS;

或者,例如,针对特定模式中包的错误:

SELECT *
FROM   ALL_ERRORS
WHERE  owner = 'SCHEMA_NAME'
AND    type IN ( 'PACKAGE', 'PACKAGE BODY');

它将列出错误(包括行号和错误消息(,然后您可以调试过程/函数/包并重新编译它

小提琴

相关内容

  • 没有找到相关文章

最新更新