A (нерекурсивен) CTE не използва курсори. Това е подход, базиран на набор. Това е голямата разлика в сравнение с използването на курсори. Но това е вярно за неизползването на курсори като цяло.
Курсорите трябва да се избягват, където е абсолютно възможно (както съм сигурен, че всички сме наясно).
CTE не е непременно по-добър от използването на извлечена таблица, но води до по-разбираем TSQL код. CTE всъщност е просто стенография за заявка или подзаявка; нещо подобно на временен изглед.
Ситуацията, в която CTE може да не е най-добрият подход, е, когато оптимизаторът на плана на заявките получи неточни оценки на редовете за CTE.
Свързан въпрос:Какви са предимствата/недостатъците от използването на CTE?