oracle sql开发人员首次用户
我是plsql新手,尝试使用oracle sql developer,我尝试使用dbms输出行运行一个简单的过程,我得到以下错误 ora-00904 ,代码是oracle sql开发人员首次用户,sql,oracle,plsql,Sql,Oracle,Plsql,我是plsql新手,尝试使用oracle sql developer,我尝试使用dbms输出行运行一个简单的过程,我得到以下错误 ora-00904 ,代码是 create or replace PROCEDURE proc_101 IS v_string_tx VARCHAR2(256) := 'Hello World'; BEGIN dbms_output.put_line(v_string_tx); END; 无论我点击run(绿色)还是debug(红色),我都会得到
create or replace PROCEDURE proc_101 IS
v_string_tx VARCHAR2(256) := 'Hello World';
BEGIN
dbms_output.put_line(v_string_tx);
END;
无论我点击run(绿色)还是debug(红色),我都会得到相同的错误
您可以从上面的代码中看到,过程没有访问任何对象,但我仍然得到了相同的错误。我想说,工作表中还有其他一些代码引起了该错误,而不仅仅是您发布的
创建过程。例如,类似于此SQL*Plus示例的内容(只是为了说明发生了什么-您在SQL Developer中会得到相同的结果):
看到了吗?第一部分提出了ORA-00904,因为DUAL中没有PIXIE列,而过程是正确创建的
因此-删除失败的代码,一切都应该正常。请与您的DBA联系,确保dbms\u输出包已安装在您的数据库上,并且您对其拥有权限。您的过程正常。您可能没有创建过程的权限。如果是这种情况,请测试您的过程/代码,而不首先在数据库中实际创建它。例如,当我在生产数据库中测试代码时,我的oracle用户无法创建过程、包、表等。。。所以我在自己的PL/SQL块中测试我的过程。当代码可以运行时,我可以让数据库管理员为我创建过程和/或包
下面的屏幕截图是简单测试该过程的代码:
下面的屏幕截图是在PL/SQL块中执行更多操作并测试过程的代码
对于更高级的情况,这允许您执行更多操作,因为您可以创建各种过程/函数和/或游标并立即测试它们,而无需在Oracle数据库中创建这些对象。
请提供相关的codecreate或replace PROCEDURE EMP_NAME(编号为PARAM1)作为rec EMP%行类型;从emp开始选择*进入rec,其中EMPNO=PARAM1;结束EMP_名称;否,请编辑您的问题,而不是将其发布为评论添加此行dbms\u output.put\u line(rec.ename);在结束之前;。但是,您的注释与发布的代码不匹配,这意味着您没有检查它是否实际上是您问题的最小演示。
SQL> select pixie from dual;
select pixie from dual
*
ERROR at line 1:
ORA-00904: "PIXIE": invalid identifier
SQL>
SQL> create or replace PROCEDURE proc_101 IS
2 v_string_tx VARCHAR2(256) := 'Hello World';
3 BEGIN
4 dbms_output.put_line(v_string_tx);
5 END;
6 /
Procedure created.
SQL>