Обычно в реляционной базе данных, такой как SQL Server, вы предпочитаете выполнять операции над множествами.Поэтому было бы лучше иметь INSERT INTO tbl SOMECOMPLEXQUERY
даже с очень сложными запросами.Это гораздо предпочтительнее, чем обработка строк.В сложной системе использование курсора должно быть относительно редким явлением.
В вашем случае может показаться, что процедура get_next_ticket
выполняет некоторую существенную логику, которую невозможно выполнить ориентированным на набор способом.Если вы не можете выполнить его функцию альтернативным образом, ориентированным на наборы, тогда вы бы использовали CURSOR
.
. Вы бы объявили CURSOR
в своем наборе SELECT whatever FROM #temptable
, OPEN
it, FETCH
из курсора в переменные для каждого столбца, а затем использовать их во вставке.