13update.mql 1.9 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798
  1. -- ============================================================
  2. -- Update 更新操作测试
  3. -- ============================================================
  4. -- 1. 基本 update - 更新单个字段
  5. update /test/aaa/test_basic set v_int=200 where name='insert_001'
  6. /**
  7. output()
  8. count(1)
  9. **/
  10. ;
  11. -- 验证更新结果
  12. select name, v_int from /test/aaa/test_basic where name='insert_001'
  13. /**
  14. output()
  15. match("v_int",200)
  16. **/
  17. ;
  18. -- 2. 更新多个字段
  19. update /test/aaa/test_basic set v_text='updated text', v_bool=false where name='insert_001'
  20. /**
  21. output()
  22. count(1)
  23. **/
  24. ;
  25. select name, v_text, v_bool from /test/aaa/test_basic where name='insert_001'
  26. /**
  27. output()
  28. match("v_text","updated text")
  29. match("v_bool",false)
  30. **/
  31. ;
  32. -- 3. 更新 float/double 字段
  33. update /test/aaa/test_basic set v_float=9.99, v_double=99.999999 where name='insert_002'
  34. ;
  35. select name, v_float, v_double from /test/aaa/test_basic where name='insert_002'
  36. /**
  37. output()
  38. **/
  39. ;
  40. -- 4. 更新不存在的记录(影响0行)
  41. update /test/aaa/test_basic set v_int=999 where name='non_exist_key_update'
  42. /**
  43. output()
  44. **/
  45. ;
  46. -- 5. 更新 version 表
  47. update /test/aaa/test_basic_ver set value=100 where name='ver_001'
  48. ;
  49. select name, value from /test/aaa/test_basic_ver where name='ver_001'
  50. /**
  51. output()
  52. match("value",100)
  53. **/
  54. ;
  55. -- 6. 批量更新
  56. update /test/aaa/test_basic set v_int=10 where name='batch_001'
  57. ;
  58. update /test/aaa/test_basic set v_int=20 where name='batch_002'
  59. ;
  60. select name, v_int from /test/aaa/test_basic where name='batch_001' or name='batch_002'
  61. /**
  62. output()
  63. count(2)
  64. **/
  65. ;
  66. -- 7. 更新后再更新回原值
  67. update /test/aaa/test_basic set v_int=1 where name='batch_001'
  68. ;
  69. select name, v_int from /test/aaa/test_basic where name='batch_001'
  70. /**
  71. output()
  72. match("v_int",1)
  73. **/
  74. ;
  75. -- 8. 更新 bigint 字段
  76. update /test/aaa/test_basic set v_bigint=-999999999999999999 where name='insert_003'
  77. ;
  78. select name, v_bigint from /test/aaa/test_basic where name='insert_003'
  79. /**
  80. output()
  81. **/
  82. ;