我听说使用游标不好,因为它们对 DBMS 来说“不自然”,而且它们的性能很差。
但是想象一下以下情况:我有一个存储过程,我需要为来自法国的每个客户调用这个存储过程(例如)。我有几个选项,例如使用游标,在一个查询中编写所有内容,并从客户端应用程序为每个客户调用存储过程。
如果我在一个查询中编写所有内容 - 它很可能会从已经存在的存储过程中复制代码/逻辑/整个查询。对我来说,这看起来像是一种“臭名昭著的方法”(如果您阅读了“重构”一书)。逻辑不再封装在一个地方。
你怎么看?
PS。欢迎提供任何描述游标为何不好或不坏的文档的链接。