我知道在 SQL 中创建和使用游标既不安全也不高效,但有时它是唯一的选择。现在这是我唯一的选择。
我的问题不是如何避免使用游标,而是如果游标仅在存储过程中动态创建的临时表上运行,那么安全性如何以及会引发哪些性能问题。我知道游标的运行速度比设置操作慢,并且会在它们正在迭代的表上加锁。我的临时表是一个相对较小的表,仅包含一个 int 类型的字段和最多 50 条记录。
DECLARE @pD int
DECLARE CurDB CURSOR FOR
SELECT pD FROM #mD
open CurDB
fetch next from CurDB into @pD
etc...
Run Code Online (Sandbox Code Playgroud)