Я пишу хранимую процедуру для обновления целевой таблицы из исходной таблицы. Данные поступают ежедневно, а также за последние 7 дней. Я хотел бы вставлять новые данные в целевую таблицу только после сравнения исходной и целевой таблиц на основе столбца «Дата».
Не знаю, как это записать в BQ
if source.date = target.date
then dont insert
else
insert
один способ (псевдокод):
insert into target
select * from source
where source.date <> target.date
Предположительно, вы предполагаете, что у вас есть данные с заданной даты или нет данных. Если это так, вам нужна логика:
insert into target ( . . . ) -- list the columns
select . . . -- list the columns
from source s
where not exists (select 1 from target t where t.date = s.date);
Это сработает, но я изо всех сил пытаюсь включить 2 условия