| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657 |
- -- ============================================================
- -- On Conflict Update 测试
- -- ============================================================
- -- 1. 条件更新 (已知新版server on conflict 表达式读取已有值问题)
- 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
- /**
- onerror(continue)
- **/
- ;
- -- 首次插入,c_count=1
- select c_value, c_count from /test/aaa/test_conflict where c_name='conflict_update_001'
- /**
- output()
- **/
- ;
- -- 2. 再次冲突更新 c_count 应累加 (已知新版server on conflict 表达式读取已有值问题)
- 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
- /**
- onerror(continue)
- **/
- ;
- select c_value, c_count from /test/aaa/test_conflict where c_name='conflict_update_001'
- /**
- output()
- **/
- ;
- -- 3. 多字段 conflict update (已知新版server on conflict 表达式读取已有值问题)
- 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
- /**
- onerror(continue)
- **/
- ;
- -- 首次
- select c_value, c_count from /test/aaa/test_conflict where c_name='conflict_update_002'
- /**
- output()
- **/
- ;
- -- 再次冲突 (已知新版server on conflict 表达式读取已有值问题)
- 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
- /**
- onerror(continue)
- **/
- ;
- select c_value, c_count from /test/aaa/test_conflict where c_name='conflict_update_002'
- /**
- output()
- **/
- ;
|