Пример таблицы для кода ниже
create table A(ID INT IDENTITY, a int, b int)
create table B(ID INT, a int, b int)
insert A select 1,2 union all select 3,4 union all select 5,6
Вам нужна переменная для каждого столбца. Смотрите пример ниже
declare @id int, @a int, @b int
DECLARE eoauz CURSOR FAST_FORWARD FOR SELECT * FROM A
open eoauz
fetch next from eoauz into @id, @a, @b
while @@fetch_status = 0
begin
INSERT B VALUES( @id, @a, @b )
fetch next from eoauz into @id, @a, @b
end
close eoauz
deallocate eoauz
Я предпочитаю не использовать курсоры и вместо этого использовать циклы WHILE, когда это возможно
declare @id int
select top 1 @id = id from A order by ID
while @@ROWCOUNT > 0 begin
insert B select * from A where ID=@id -- one row
select top 1 @id = id from A where id > @id order by ID
end