这个不太懂,你可以去CUUG上问下他们那的专业老师,态度都挺好的,或者加一些oracle技术群问问
创新互联服务项目包括恩施土家网站建设、恩施土家网站制作、恩施土家网页制作以及恩施土家网络营销策划等。多年来,我们专注于互联网行业,利用自身积累的技术优势、行业经验、深度合作伙伴关系等,向广大中小型企业、政府机构等提供互联网行业的解决方案,恩施土家网站推广取得了明显的社会效益与经济效益。目前,我们服务的客户以成都为中心已经辐射到恩施土家省份的部分城市,未来相信会继续扩大服务区域并继续获得客户的支持与信任!
可以根据where条件去找的
什么时候开始错误的
找最后正常天之后的数据出来对
范围慢慢缩小,你这种情况,肯定是业务数据保存的时候没有SQL过滤
一般写在存储过程处理异常。
exception
when others then
out_mes:=out_mes || '执行失败!因为'|| sqlcode || '错误' ;
out_mes你自己可以处理,插入日志表中 或作为输出参数。
这个是没办法定位的。你可通过调试工具,一步一步调试,可以发现出现错误的地方及原因。
可以使用PL/SQL DEVELOPER
不知道你想在什么环境下捕获,不知道你说的SQL是怎么捕获,或者你说的是脚本?
如果是在存储过程中捕获
有两个思路吧,
1、直接使用普通的异常处理,获取异常的代码,匹配是否为00942,然后就捕获到这个异常。
2、自定义异常处理,使用数据字典,首先查询数据字典中是否存在这表,如果不存在,就产生一个自定义的异常,在这个异常里你做处理。
------------------------------------------------------------------------------------
declare
myexception exception;
--表个数
v_num integer :=0;
begin
--查询表名为MY_USER表个数
SELECT count(*) into v_num FROM tabs WHERE table_name = 'MY_USER'
if v_num=0 then
raise myexception;
end if;
exception
when myexception then
raise_application_error(20001,'my exception happens');
when others then
raise_application_error(-20001,'An error was encountered - '||SQLCODE||' -ERROR- '||SQLERRM);
end
----------------------------------------------------------------------------------------
伪代码,你可以嵌到你的存储过程中去使用。