| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105 |
- -- ============================================================
- -- beforerun 函数链:set / add / mod / case
- -- ============================================================
- -- 1. beforerun set 设置变量
- /**
- beforerun(set(myvar, 'hello_mql'))
- **/
- ;
- -- 使用变量插入
- insert into /test/aaa/test_ext (e_name, e_value, e_text) values ('beforerun_set', 1, {%s,myvar})
- /**
- onerror(continue)
- **/
- ;
- select e_name, e_text from /test/aaa/test_ext where e_name='beforerun_set'
- /**
- output()
- onerror(continue)
- **/
- ;
- -- 2. beforerun add 累加
- /**
- beforerun(set(counter, 10), add(counter, 5))
- **/
- ;
- insert into /test/aaa/test_ext (e_name, e_value, e_text) values (concat('beforerun_add_', {%d,counter}), {%d,counter}, 'add test')
- /**
- onerror(continue)
- **/
- ;
- select e_name, e_value from /test/aaa/test_ext where e_name=^'beforerun_add'
- /**
- output()
- **/
- ;
- -- 3. beforerun add 带单位(时间累加)
- /**
- beforerun(set(ct, '2024-01-01 00:00:00'), add(ct, 30, second))
- **/
- ;
- insert into /test/aaa/test_ext (e_name, e_text) values ('beforerun_time', concat('ct=', {%t,ct}))
- /**
- onerror(continue)
- **/
- ;
- -- 4. beforerun mod 取模
- /**
- beforerun(set(mod_val, 17), mod(mod_val, 5))
- **/
- ;
- insert into /test/aaa/test_ext (e_name, e_value, e_text) values (concat('beforerun_mod_', {%d,mod_val}), {%d,mod_val}, 'mod test 17%5')
- /**
- onerror(continue)
- **/
- ;
- select e_name, e_value from /test/aaa/test_ext where e_name=^'beforerun_mod'
- /**
- output()
- **/
- ;
- -- 5. beforerun case 条件判断
- /**
- beforerun(set(case_val, 'yes'), case(case_val,'yes'))
- **/
- ;
- insert into /test/aaa/test_ext (e_name, e_text) values ('beforerun_case_yes', 'case matched yes')
- ;
- select e_name from /test/aaa/test_ext where e_name='beforerun_case_yes'
- /**
- output()
- count(1)
- **/
- ;
- -- 6. beforerun case 不匹配
- /**
- beforerun(set(case_val, 'no'), case(case_val,'yes'))
- **/
- ;
- -- 当 case 不匹配时,该语句会被跳过
- insert into /test/aaa/test_ext (e_name, e_text) values ('beforerun_case_no', 'case not matched - should not execute')
- ;
- -- 验证 case 不匹配时语句被跳过
- select e_name from /test/aaa/test_ext where e_name='beforerun_case_no'
- /**
- output()
- onerror(continue)
- **/
- ;
|