导航:首页 > 源码编译 > oracle查询无效编译对象

oracle查询无效编译对象

发布时间:2022-05-03 15:14:43

⑴ oracle 过程 重新编译也无效

编译完成,不代表里面语句没问题,这种情况是存储过程里存在某种错误
在 SQL *Plus 或者 PL/SQL Developer 的 Command Windows 中,执行
show errors procere USP_EXCEPTION;
查看一下错误是什么.

我的修改如下:
CREATE OR REPLACE PROCEDURE USP_EXCEPTION(EMPNO INTEGER, --批次ID
P_FM NUMBER, --分母
P_FZ NUMBER, --分子
P_RESULT OUT NUMBER --结果
) IS
V_RAISE EXCEPTION; --异常处理
type type_table_pcmx is varray(4) of varchar2(20);
TABLE_PCMX type_table_pcmx;
BEGIN
IF P_FZ = 0 THEN
RAISE V_RAISE;
END IF;
P_RESULT := P_FM / P_FZ;
SELECT ENAME, EMPNO, JOB, DEPTNO
INTO TABLE_PCMX(1),TABLE_PCMX(2),TABLE_PCMX(3),TABLE_PCMX(4)
FROM EMP
WHERE EMPNO = EMPNO;
EXCEPTION
WHEN V_RAISE THEN
RAISE_APPLICATION_ERROR(-20010, 'ERROR:分子为零!');
WHEN NO_DATA_FOUND THEN
RAISE_APPLICATION_ERROR(-20011, 'ERROR:批次明细不存在!');
WHEN OTHERS THEN
RAISE_APPLICATION_ERROR(-20012, 'ERROR:数据错误!');
END;

⑵ 如何在Oracle中重编译所有无效的存储过程

:在SQL_PLUS中:spool ExecCompProc.sql select 'alter procere ' ||object_name||' compile;' From all_objects where status = 'INVALID' and object_type = 'PROCEDURE'; spool off @ExecCompProc.Sql;整理成一个存储过程:Create Or Replace Procere Zl_Compile_Invalid_Procere AsStrsql Varchar2(200);BeginFor x In (Select Object_Name From All_Objects Where Status = 'INVALID' And Object_Type = 'PROCEDURE') LoopStrsql := 'Alter Procere ' || x.Object_Name || ' Compile';Begin Execute Immediate Strsql; Exception--When Others Then Null; When OTHERS Then dbms_output.put_line(Sqlerrm); End;End Loop;End;最后执行:exec Zl_Compile_Invalid_Procere;如果要看到无法重编译的过程的出错信息,需要执行前设置set serverout on。

⑶ oracle导完数据为什么要编译无效对象

网友采纳如果无效对象的数量很少,那么你可以逐个编译这些对象. ALTER PACKAGE my_package COMPILE; ALTER PACKAGE my_package COMPILE BODY; ALTER PROCEDURE my_procere COMPILE; ALTER FUNCTION my_function COMPILE; ALTER TRIGGER my_trigger COMPILE; ALTER VIEW my_view COMPILE;

⑷ delphi adoquery进度条

我不知道你所谓的“Oracle无效对象”是神马玩意,但显示ADOQuery进度是有办法的。
1、将ADOQuery的ExcuteOption属性中的eoAsyncFetch设为True,使其能够触发异步消息。
2、在ADOQuery的OnFetchProgress事件里处理进度,进度会显示在窗体标题上:
procere TForm1.ADOQuery1FetchProgress(DataSet: TCustomADODataSet;
Progress, MaxProgress: Integer; var EventStatus: TEventStatus);
begin
Self.Caption := '完成百分比: ' + IntToStr(Trunc(Progress / MaxProgress * 100)) + '% ';
Application.ProcessMessages;
end;

⑸ plsql里面的编译无效对象是什么意思

Oracle中出现无效对象,就是因为在创建函数或存储过程等,里边的内容书写不正确导致。如果要重新编译,需要先修正错误,然后编译。
工具:Oracle 10g、PL/SQL
步骤:
1、在PL/SQL中打开出现编译错误的函数或存储过程,这里以存储过程为例。

2、右键点击该存储过程,选择“编辑”。

3、根据错误提示,找到错误,并修改错误。

4、改正错误后,点击左上方的“齿轮”状按钮。

5、运行成功后,则该存储过程就会变为编译成功的状态。

⑹ ORACLE里怎么看编译错误

Oracle对于每一类错误都是编了号的,对应着编码去找解决方案就行了。
一般来说,有很大一部分都是针对一类问题,这样就省去了我们来排查错误有可能产生的原因这一步
就你上面的问题而言,我不知道你用的是哪个版本,也不知道你用没用可视化工具(比如Navacat一类的),单单就oracle而言,你也可以看。不管你在哪里运行,都是要给提示的,dos下要给,SQL plus也要给。

⑺ oracle 存储过程查询语句错哪了对象sys.sel2无效。

create or replace procere sel2 as
v_name varchar2(10);
v_addr varchar2(20);

begin

select sname,addr
into v_name,v_addr
from stu5
where sname='张华';
dbms_output.putline(v_name||' '||v_addr);
end sel2;
/
-----------------
begin
sel2;
end ;
/

你的基本语法都不对,好好学习。

⑻ oracle存储过程提示编译完成但存在错误,如何查看错误

1、首先打开PL/SQL Developer软件,新建sql窗口。

⑼ Oracle 定义存储过程 不能执行,处于无效状态。

无效状态有两种可能:

1、一种是你的存储过程编辑没有成功,创建了,但里面有语法错误。

⑽ oracle存储过程对象无效

以下逐行写,不要一写复制进去

begin
demo1;
end;
/

第四行的反斜杠不能省略

阅读全文

与oracle查询无效编译对象相关的资料

热点内容
喷油螺杆制冷压缩机 浏览:577
python员工信息登记表 浏览:375
高中美术pdf 浏览:158
java实现排列 浏览:511
javavector的用法 浏览:980
osi实现加密的三层 浏览:230
大众宝来原厂中控如何安装app 浏览:912
linux内核根文件系统 浏览:241
3d的命令面板不见了 浏览:524
武汉理工大学服务器ip地址 浏览:147
亚马逊云服务器登录 浏览:523
安卓手机如何进行文件处理 浏览:70
mysql执行系统命令 浏览:929
php支持curlhttps 浏览:142
新预算法责任 浏览:443
服务器如何处理5万人同时在线 浏览:249
哈夫曼编码数据压缩 浏览:424
锁定服务器是什么意思 浏览:383
场景检测算法 浏览:616
解压手机软件触屏 浏览:348