1. pl/sql创建过程时报错Warning: Procedure created with compilation errors
(id in varchar2(6)) 改为 (id in varchar2)
参数为varchar 类型时 不需要加长度限定
2. 执行oracle存储过程,总是出现Warning: Procedure created with compilation errors错误,求高手指点
这个存储过程有问题,TRUNCATE TABLE不能这样在存储过程里面执行,可以写成:
EXECUTE IMMEDIATE TRUNCATE TABLE TEMP;才能执行.
3. PL/SQL创建存储过程的错误Warning: Procedure created with compilation errors
update item set itemlnumb=nvl(:old.itemlnumb,0)+lNum_pro,itemOnumb=nvl(:old.itemOnumb,0)+oNumpro where itemNo=itemNo_pro;
此处,在存储过程中不能使用触发器的:old,直接去掉:old.就可以。
如:
update item set itemlnumb=nvl(itemlnumb,0)+lNum_pro,itemOnumb=nvl(itemOnumb,0)+oNum_pro where itemNo=itemNo_pro;
此外,
参数也写错了,应为_pro,在定义中写成了_pra。
4. PL/SQL警告。。Warning: Procedure created with compilation errors.。。代码如下!
BEGIN
IF check_rating THEN
DBMS_OUTPUT.PUT_LINE
('信用等级超出限制 ('||TO_CHAR(credit_limit)||'). '
||'等级: '||TO_CHAR(rating));
ELSE
DBMS_OUTPUT.PUT_LINE('信用等级OK. '||'等级: '||TO_CHAR(rating));
ENDIF;
END;
这段删了看看
5. 创建存储过程的时候提示这个错误Errors for PROCEDURE SCOTT.MYPRO1:是不是我没有定义变量
也可以说你没定义变量,select XX into XX from XX,这才是pl/sql程序的格式,你缺少into语句。
6. 这个存储过程提示Warning: compiled but with compilation errors求高手指点一二
编译后显示编译错误,就能定位哪行了。
如果用toad之类的工具,可以直接看到。
如果是sqlplus,编译后执行show err
7. oracle 创建包的时候错误 求解
先要创建package description 才能创建package body
SQL> create or replace package my_package is
2 procedure my_procedure(name varchar2,num number);
3 function my_function(name varchar2) return number;
4 end;
6 /
Package created.
SQL> show error
No errors.
8. oracle存储过程提示编译完成但存在错误,如何查看错误
1、首先打开PL/SQL Developer软件,新建sql窗口。
2、打开修改oracle存储过程,该存储过程有一个输入参数(pid)跟一个输出参数(name),即通过用户id查询用户名称并将名称返回。
3、调试存储过程,找到刚刚修改的存储过程右击并点击【test】选项。
4、在打开的窗口内修改id值并点击左上角的倒三角形图标开始调试。按【CTRL+N】进行单步进入调试,【CTRL+O】单步调试,【CTRL+T】退出调试,也可以点击调试工具进行调试。
5、变量查看,在窗口下方可输入变量名称观察变量的变化情况。
6、调试完成后就可以检查调试结果,可以在调试结果中查看错误。