Версия MS SQL 2012, конечно, несет много интересных доработок.
Однако, меня давно интересует, почему в SQL Server'е не добавить немного синтаксического сахара относительно курсоров.
В самом деле, если бы у нас была возможность пробегаться по курсорам при помощи конструкций примерно следующего вида, то было бы намного проще:
Сейчас, для того, чтобы сделать тоже самое, нам приходится постоянно набирать куски кода вроде этого:
Который по своему функционалу аналогичен предыдущему, но как видно, намного длиннее.
Я понимаю, что есть разные виды курсоров. способы их обхода и пр.
Но все-же для наиболее часто употребляемого случая - когда мы используем локальный курс с движением только вперед - такой синтаксический сахар был бы очень полезен.
Кроме того, его можно было бы дополнить и различными настройками курсора, если уж это может кому-то потребоваться.
Прощу представителей компании Microsoft, в случае прочтения данного сообщения, считать это моим личным пожеланиям относительно новой функциональности в дальнейших версиях SQL Server.
Однако, меня давно интересует, почему в SQL Server'е не добавить немного синтаксического сахара относительно курсоров.
В самом деле, если бы у нас была возможность пробегаться по курсорам при помощи конструкций примерно следующего вида, то было бы намного проще:
foreach MyRow in (select * from MyTable)
begin
select MyField from MyRow
end
begin
select MyField from MyRow
end
Сейчас, для того, чтобы сделать тоже самое, нам приходится постоянно набирать куски кода вроде этого:
declare @MyField int
declare cur cursor for
select MyField from MyTable
open cur
fetch next from cur into @MyField
while @@FETCH_STATUS = 0
begin
select @MyField
fetch next from cur into @MyField
end
close cur
deallocate cur
declare cur cursor for
select MyField from MyTable
open cur
fetch next from cur into @MyField
while @@FETCH_STATUS = 0
begin
select @MyField
fetch next from cur into @MyField
end
close cur
deallocate cur
Я понимаю, что есть разные виды курсоров. способы их обхода и пр.
Но все-же для наиболее часто употребляемого случая - когда мы используем локальный курс с движением только вперед - такой синтаксический сахар был бы очень полезен.
Кроме того, его можно было бы дополнить и различными настройками курсора, если уж это может кому-то потребоваться.
Прощу представителей компании Microsoft, в случае прочтения данного сообщения, считать это моим личным пожеланиям относительно новой функциональности в дальнейших версиях SQL Server.