IoT user
IoT user

Reputation: 1300

Google BigQuery: merge statement

If table is empty or the using select doesn't return any row, why this merge doesn't run the insert statement?

MERGE INTO
  `table` TGT
USING
  (
  SELECT
    field   
  FROM
    `table`
  WHERE 
    field='1'   
 ) SOURCE
ON
  (TGT.field = SOURCE.field )
  WHEN MATCHED  THEN 
    UPDATE SET  TGT.field='value1'
  WHEN NOT MATCHED   THEN
    INSERT   (field) VALUES   ( 'value2') 

Upvotes: 1

Views: 5821

Answers (1)

IoT user
IoT user

Reputation: 1300

    MERGE INTO
     `table` DESTINY
    USING
     ( select 'value' as Field)  SOURCE 
    ON
     DESTINY.Field = SOURCE.Field
     WHEN MATCHED  THEN  UPDATE SET  DESTINY.Field='value 1'
     WHEN NOT MATCHED  THEN INSERT (Field) VALUES  ( 'value 2')

Upvotes: 3

Related Questions