23noerrinfo_skip.mql 1.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970
  1. -- ============================================================
  2. -- noerrinfo() skip() break continue 测试
  3. -- ============================================================
  4. -- 1. noerrinfo() - 不输出错误信息
  5. insert into /test/aaa/non_exist_xxx (name) values ('noerrinfo test')
  6. /**
  7. noerrinfo()
  8. onerror(continue,'not exist','not find','not found')
  9. **/
  10. ;
  11. -- 2. skip() - 跳过本语句(不执行)
  12. -- 此处不做 skip 演示,因为 skip() 会直接跳过,该语句不会在文件中有意义
  13. -- 3. continue - 配合 loop 使用,跳过当前迭代
  14. /**
  15. scope(mql)
  16. loop(5)
  17. **/
  18. ;
  19. -- 跳过 mqli=3 的迭代
  20. /**
  21. beforerun(case(<mqli>,'3'))
  22. **/
  23. ;
  24. insert into /test/aaa/test_ext (e_name, e_value, e_text) values (concat('continue_test_', <mqli>), {%d,mqli}, 'continue test - should skip mqli=3')
  25. ;
  26. /**
  27. continue
  28. **/
  29. ;
  30. -- 验证 continue 跳过了 mqli=3
  31. select e_name from /test/aaa/test_ext where e_name=^'continue_test'
  32. /**
  33. output()
  34. **/
  35. ;
  36. -- 4. break - 配合 loop 使用,跳出循环
  37. /**
  38. scope(mql)
  39. loop(10)
  40. **/
  41. ;
  42. insert into /test/aaa/test_ext (e_name, e_value) values (concat('break_test_', <mqli>), {%d,mqli})
  43. ;
  44. -- 当 mqli>=3 时跳出
  45. /**
  46. beforerun(case(<mqli>,'3'))
  47. **/
  48. ;
  49. /**
  50. break
  51. **/
  52. ;
  53. -- 验证 break 只执行了前 3 次
  54. select e_name from /test/aaa/test_ext where e_name=^'break_test'
  55. /**
  56. output()
  57. **/
  58. ;