Я пытаюсь конвертировать курсор из MS SQL в BigQuey Standard SQL. Можем ли мы сделать это используя какое-то время l oop? Каков наилучший подход для написания сценария ниже курсора в BigQuery? Заранее спасибо!
declare @t1 int, @t2 int, @t3 int, @id int
declare @name varchar(30), @status varchar(30)
declare @cursor cursor
set @cursor = cursor for select * from table_A
open @cursor
fetch next from @cursor into @t1, @t2, @t3, @id, @name, @status
while @@fetch_status = 0
begin
delete from table_B where id = @id
update table_B b
set b.time = gettime() /*this can give different results if I try batch processing*/
where b.name = @name
and b.status = @status
if (@t1 is null and @t2 is null)
begin
insert into table_C (parent, child)
select 0, 0
end
if (@t2 is null and @t3 is null)
begin
insert into table_C (parent, child, level, is_above, is_below) /*this insert is different from above insert*/
select @t1, @t2, 3, 2, 1
end
fetch next from @cursor into @t1, @t2, @t3, @id, @name, @status
end
close @cursor
deallocate @cursor