Chinaunix

标题: 请教:如何发现存储过程中的错误!给予帮助,谢了! [打印本页]

作者: aragorn_coconut    时间: 2004-05-17 19:41
标题: 请教:如何发现存储过程中的错误!给予帮助,谢了!
如果一个很长的存储过程出错了,如何去寻找和发现出错的原因?
如果用 trace on , 她把所有的过程调用和返回值都记录下来了,很难寻找错误点
C程序对语法错误很容易发现而对逻辑错误很难找出来,存储过程会不会和C程序一样也很难发现错误呢?


有没有什么方法,编译完过程,就可以发现出错的位置,麻烦各位斑竹和热爱informix的朋友给予帮助,谢谢了!
作者: aragorn_coconut    时间: 2004-05-18 09:24
标题: 请教:如何发现存储过程中的错误!给予帮助,谢了!
在线等待中... ... ... ...
作者: satoni    时间: 2004-05-18 10:02
标题: 请教:如何发现存储过程中的错误!给予帮助,谢了!
关注
作者: sunlan    时间: 2004-05-18 10:19
标题: 请教:如何发现存储过程中的错误!给予帮助,谢了!
原帖由 "aragorn_coconut" 发表:
如果一个很长的存储过程出错了,如何去寻找和发现出错的原因?
如果用 trace on , 她把所有的过程调用和返回值都记录下来了,很难寻找错误点
C程序对语法错误很容易发现而对逻辑错误很难找出来,存储过程会不会和..........


trace语句中将行数输出。不过不能象c中那样,而要自己写。类似
trace "line 32" || "error"
作者: aragorn_coconut    时间: 2004-05-20 11:05
标题: 请教:如何发现存储过程中的错误!给予帮助,谢了!
等待中... ... ... ...
作者: aragorn_coconut    时间: 2004-05-21 00:00
标题: 请教:如何发现存储过程中的错误!给予帮助,谢了!
程序如何异常处理???

sss表:
-----------------------------
cust_no          cust_name
-----------------------------
1                zj
2                zj
3                hwy
8                debug
10               debug


以上的sss表内容已经存在,然后在执行下面的程序:

drop procedure tmp;
create procedure tmp()
returning char(20),char(20),char(20);
define b char(20);
define c char(20);
define d char(20);
insert into sss( cust_no,cust_name) values(8,"debug";   --insert 1
select cust_no,cust_name,cust_str into b, c, d
from sss
where cust_no = 8;
insert into sss( cust_no,cust_name) values(10,"debug";   --insert 2
return b,c,d,sqlcode,isamcode with resume;
end procedure



用什么方法去发现 "insert 1" 和 "insert 2" 中的错误???
程序应该怎么写?
谢谢了!!!
急,急,急!!!
作者: mywg    时间: 2004-05-21 10:37
标题: 请教:如何发现存储过程中的错误!给予帮助,谢了!
spl的语法中有处理异常的啊
ON EXCEPTION IN (-696)
。。。。。。。。
END EXCEPTION WITH RESUME  ;
这和写一个新的程序,再调试通过是一样的。




欢迎光临 Chinaunix (http://bbs.chinaunix.net/) Powered by Discuz! X3.2