oracle sql开发人员首次用户

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(红色),我都会得到

我是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(红色),我都会得到相同的错误


您可以从上面的代码中看到,过程没有访问任何对象,但我仍然得到了相同的错误。

我想说,工作表中还有其他一些代码引起了该错误,而不仅仅是您发布的
创建过程。例如,类似于此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>