也谈计算机审计中自连接的应用
卢浩(江苏省徐州市审计局)
【发布时间:2011年06月14日】
字号:【大】 【中】 【小】

署网站理论探讨板块6月10日刊登了《 计算机审计中自连接的应用》,介绍了自连接技术在计算机审计中的应用,并举了公积金审计中对循环担保问题的审计实例进行了分析,对审计人员有很大的启发。仔细分析后,觉得文中有两点不妥,现提出与作者商榷。
1、循环担保可能发生在两个贷款主体之间,如A给B担保,B又给A担保;也可能发生在多个贷款主体之间,如A给B担保,B给C担保,C又给A担保,等等。循环担保的实质是在关系模式上寻找一个传递闭包。
如果是三个贷款主体之间的循环担保,文中给出的sql语句没有问题,但如果是两个贷款主体或者四个、五个主体之间的循环,则需在此基础上作一定的更改,但思路是一样的。以两个为例,这个最简单,实际也是最多的。
Select a.* from   信贷表  a  join 信贷表  b 
on a. 担保人编号=b. 贷款人编号
where  a.贷款人编号=b.担保人编号
按题目给出的例子,没有满足这样的记录。
2、按题目给出的示例数据,以及三者之间循环的sql语句,实际执行之后,并没有记录。
还需要指出的是,按照自连接的思路查询循环担保,查询结果中是有重复记录的,得到结果之后还需要进行处理,将重复记录剔除。为便于演示,我们在信贷表中增加一条记录
 
        执行sql之后,结果如下所示。
 

123456、123234、456789三者之间存在循环贷款问题,三条记录表达的意思实际上是一样的,审计时还要将重复的两条记录剔除掉,然后再审计落实。(卢浩)
【关闭】    【打印】