13update.mql 1.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899
  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. count(0)
  45. **/
  46. ;
  47. -- 5. 更新 version 表
  48. update /test/aaa/test_basic_ver set value=100 where name='ver_001'
  49. ;
  50. select name, value from /test/aaa/test_basic_ver where name='ver_001'
  51. /**
  52. output()
  53. match("value","100")
  54. **/
  55. ;
  56. -- 6. 批量更新
  57. update /test/aaa/test_basic set v_int=10 where name='batch_001'
  58. ;
  59. update /test/aaa/test_basic set v_int=20 where name='batch_002'
  60. ;
  61. select name, v_int from /test/aaa/test_basic where name='batch_001' or name='batch_002'
  62. /**
  63. output()
  64. count(2)
  65. **/
  66. ;
  67. -- 7. 更新后再更新回原值
  68. update /test/aaa/test_basic set v_int=1 where name='batch_001'
  69. ;
  70. select name, v_int from /test/aaa/test_basic where name='batch_001'
  71. /**
  72. output()
  73. match("v_int","1")
  74. **/
  75. ;
  76. -- 8. 更新 bigint 字段
  77. update /test/aaa/test_basic set v_bigint=-999999999999999999 where name='insert_003'
  78. ;
  79. select name, v_bigint from /test/aaa/test_basic where name='insert_003'
  80. /**
  81. output()
  82. **/
  83. ;