12conflict_update.mql 1.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445
  1. -- ============================================================
  2. -- On Conflict Update 测试
  3. -- ============================================================
  4. -- 1. 条件更新
  5. insert into /test/aaa/test_conflict (c_name, c_value, c_count) values ('conflict_update_001', 100, 1) on conflict update c_value=200, c_count=c_count+1
  6. ;
  7. -- 首次插入,c_count=1
  8. select c_value, c_count from /test/aaa/test_conflict where c_name='conflict_update_001'
  9. /**
  10. output()
  11. **/
  12. ;
  13. -- 2. 再次冲突更新 c_count 应累加
  14. insert into /test/aaa/test_conflict (c_name, c_value, c_count) values ('conflict_update_001', 300, 5) on conflict update c_value=c_value, c_count=c_count+c_count
  15. ;
  16. select c_value, c_count from /test/aaa/test_conflict where c_name='conflict_update_001'
  17. /**
  18. output()
  19. **/
  20. ;
  21. -- 3. 多字段 conflict update
  22. insert into /test/aaa/test_conflict (c_name, c_value, c_count) values ('conflict_update_002', 100, 1) on conflict update c_value=c_value+c_value, c_count=c_count+10
  23. ;
  24. -- 首次
  25. select c_value, c_count from /test/aaa/test_conflict where c_name='conflict_update_002'
  26. /**
  27. output()
  28. **/
  29. ;
  30. -- 再次冲突
  31. insert into /test/aaa/test_conflict (c_name, c_value, c_count) values ('conflict_update_002', 200, 5) on conflict update c_value=c_value+c_value, c_count=c_count+10
  32. ;
  33. select c_value, c_count from /test/aaa/test_conflict where c_name='conflict_update_002'
  34. /**
  35. output()
  36. **/
  37. ;