我是oracle的新手,并使用SQL plus终端访问oracle DB。我尝试创建一个函数,并返回警告
function created with compilation error
执行show errors
时它始终显示
错误:
ORA-00942: table or view does not exist
我的功能:
create or replace function axsaum.get_name
AS
v_name varchar2(20);
begin
v_name:='Helloooooo';
dbms_output.put_line(v_name);
END;
/
请提出建议。
答案 0 :(得分:1)
您收到错误消息:ORA-00942: table or view does not exist
。这意味着您的函数包含对数据库对象的引用,编译器无法将其关联到表或视图在函数范围内。
您可能有几个原因。
前两个原因是您可以自己解决的原因。其他人则需要架构所有者或具有管理员特权的超级用户(例如DBA)的干预。
现在您已经发布了函数,我们可以看到您正在引用Oracle内置软件包DBMS_OUTPUT。现在,该软件包应该已安装并作为默认安装的一部分被授予。但是,如果您执行的是非标准安装,或者不小心删除或撤消了某些内容,则需要让SYS用户运行应该修复它的dbmsotpt.sql
脚本。软件包的文档中涵盖了详细信息。 Find out more。