INSERT được hỗ trợ bởi BigQuery DML
ví dụ
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
vì vậy, bạn nên sử dụng ETL của mình
Ok, tôi hiểu rồi - tôi nghĩ trong trường hợp này MERGE sẽ không được áp dụng vì INSERT CHỈ có thể được thực hiện cho mệnh đề NOT MATCH. Ai đó có thể tìm ra cách lừa MERGE hoạt động trong trường hợp này, nhưng trong khi chờ đợi giải pháp bên dưới thực hiện những gì bạn muốn đạt được - tôi nghĩ vậy: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`)