powered by simpleCommunicator - 2.0.59     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Встроенный курсор
2 сообщений из 2, страница 1 из 1
Встроенный курсор
    #32004743
Michael Hopgarden
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
"Следует заметить, что поскольку переменные применяются в предложении WHERE второго курсора, определение вторго курсора внутри первого не требуется" Ю. Тихомиров, Microsoft SQL Server 7.0, серия "В подлиннике", стр 513.

НЕ РАБОТАЕТ потому, что не верно?
...
Рейтинг: 0 / 0
Встроенный курсор
    #32004754
Michael Hopgarden
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
set nocount on
declare @i as int, @id as int, @x as int

create table #t1 (i int)
create table #t2 (id int identity(1,1), i int)
create table #t3 (t int, i int, id int null)

select @i = 0
while @i < 4
begin
select @i = @i + 1
insert #t1(i) values (@i)
insert #t2(i) values (@i)
insert #t2(i) values (@i)
end

declare c1 cursor for select i from #t1 order by i desc
declare c2 cursor for select id from #t2 where i = @x

open c1
fetch c1 into @x
while @@fetch_status = 0
begin
insert #t3(t, i) values (1, @x)
-- select id, i from #t2 where i = @x
open c2
fetch c2 into @id
-- select @@fetch_status
while @@fetch_status = 0
begin
insert #t3(t, i, id) values (0,0,0)
insert #t3(t, i, id) values (2, @i, @id)
fetch c2 into @id, @i
end
close c2
fetch c1 into @x
end

close c1
deallocate c1
deallocate c2
--select * from #t1
--select * from #t2
select * from #t3

drop table #t1
drop table #t2
drop table #t3


set nocount off
...
Рейтинг: 0 / 0
2 сообщений из 2, страница 1 из 1
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Встроенный курсор
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]