Допустим, у меня есть следующая простая табличная переменная:
declare @databases table
(
DatabaseID int,
Name varchar(15),
Server varchar(15)
)
-- insert a bunch rows into @databases
Является ли объявление и использование курсора моим единственным вариантом, если я хочу перебирать строки? Есть ли другой способ?
STATIC
опцию, чтобы убрать постоянную повторную проверку базовых таблиц и блокировку, которая существует по умолчанию и заставляет большинство людей ошибочно полагать, что CURSOR - это зло. @JacquesB очень близко: перепроверка, чтобы увидеть, существует ли еще строка результата + проблемы с блокировкой. И STATIC
обычно исправляет это :-).