INSERT est pris en charge par BigQuery DML
par exemple
MERGE dataset.Inventory T
USING dataset.NewArrivals S
ON FALSE
WHEN NOT MATCHED AND product LIKE '%washer%' THEN
INSERT (product, quantity) VALUES(product, quantity)
WHEN NOT MATCHED BY SOURCE AND product LIKE '%washer%' THEN
DELETE
donc, vous devriez être prêt à partir avec votre ETL
Ok, je vois - je pense que dans ce cas, MERGE ne s'appliquera pas car INSERT peut être fait UNIQUEMENT pour la clause NOT MATCH. Quelqu'un pourrait comprendre comment tromper MERGE pour qu'il fonctionne dans ce cas, mais en attendant, la solution ci-dessous fait ce que vous voulez réaliser - je pense que oui :o)
CREATE OR REPLACE TABLE `project.dataset.user_q` (user_id INT64, q STRING) AS
SELECT * FROM `project.dataset.user_q`
WHERE NOT user_id IN (SELECT DISTINCT user_id FROM `project.dataset.user_q_incoming`)
UNION ALL
SELECT * FROM `project.dataset.user_q_incoming`
WHERE user_id IN (SELECT DISTINCT user_id FROM `project.dataset.user_q`)