Plsql 什么是;ORA-24344:汇编成功“;误差平均值?

Plsql 什么是;ORA-24344:汇编成功“;误差平均值?,plsql,Plsql,我对pl/sql块非常陌生 当我运行以下代码时,它会显示: ORA-24344:编译错误成功 执行代码后,它不显示任何输出 --Program definition: Create a procedure which will display the employees --in descending order of employee name of the computer department create or replace procedure proc_1(this_name in

我对pl/sql块非常陌生

当我运行以下代码时,它会显示:

ORA-24344:编译错误成功

执行代码后,它不显示任何输出

--Program definition: Create a procedure which will display the employees
--in descending order of employee name of the computer department

create or replace procedure proc_1(this_name in varchar2(50)) as
begin
loop
select name  from enployee2 order by name desc;
commit;
select name into this_name;
end loop;
end;



variable k varchar2(50)
execute proc_1(:k);

好吧,这里有很多事情要做:

1> create or replace procedure proc_1(this_name in varchar2(50)) as
2> begin
3> loop
4> select name  from enployee2 order by name desc;
5> commit;
6> select name into this_name;
7> end loop;
8> end;
  • 在过程的第1行,您将此_名称声明为varchar2(50)类型的IN参数。但是,对于过程规范,您不指定参数的大小。因此,您可以从规范中删除(50)

  • 第4行有select语句,没有INTO子句

  • 在第5行,您有一个提交,但您没有在过程中完成任何保证提交的工作

  • 在第6行,您尝试将名称选择到此名称中,但您的查询没有from子句。在Oracle SQL中,不接受不带FROM的SELECT

  • 在第6行,INTO子句尝试在this_name参数中存储一个值,但该值被声明为in参数,而不是OUT或in OUT参数

  • 在第3行和第7行打开和关闭一个循环,但没有退出条件,因此循环是无限的


thnx,很多,先生!!错误消息表示已创建该过程(“成功”部分),但编译失败(“错误”部分)。现在有一个过程处于无效状态。有时,如果编译错误将由您正在进行的其他一些更改解决,并且过程最终会很好,那么这是可以的。在这种情况下,情况并非如此(详情请参见Sentinel的答案)。