我最近一直在研究 SQL 游标,我的一位同事说游标最适合用于审计。我试图在互联网上寻找材料,但没有运气。
谁能解释为什么 Cursor 尽管有缺点,但它对审计有好处?
我最近一直在研究 SQL 游标,我的一位同事说游标最适合用于审计。我试图在互联网上寻找材料,但没有运气。
谁能解释为什么 Cursor 尽管有缺点,但它对审计有好处?
像任何任务一样,它是关于为工作选择正确的工具。由于使用游标的例子很糟糕,有些人贬低游标的使用,但游标有它们的位置。它们对于子集数据和减少代码冗余特别有用:
首先,我使用游标对非常大的数据集(即银行数据)的子集执行任务。对于数十亿条记录,有些操作您不想一次全部完成,因此按天循环是一个不错的选择。还有其他迭代子集的方法,但游标在此任务中表现良好,它仍然是基于集合的操作,只是在较小的集合上。
游标也非常适合遍历数据库中的多个表/字段,如果要在每个表中执行相同的操作,或者如果您一直在处理各种数据库,则无需为多个表重新编写过程. 例如,我需要分析多个系统生成的大量各种日志文件,但它们都有日期和 ip 字段。让游标循环遍历每个表并将所有相关数据组合到一个位置是微不足道的。
除非必要,否则我不会使用游标逐行执行操作,虽然我想不出一个用例,但我确信它们存在。