接下来我们把上面隐式存在的时刻属性timestamp作为表flink_tab_ts(timestamp,user,clicks三列,无主键)的一列,再写一个 触发器(Trigger) 示例调查一下:

- // INSERT 的时辰查询一下数据flink_tab_ts,将功效写到trigger.sql中
- DELIMITER ;;
- create trigger flink_tab_ts_trigger_insert after insert
- on flink_tab_ts for each row
- begin
- select ts, user, clicks from flink_tab_ts into OUTFILE '/Users/jincheng.sunjc/testdir/atas/trigger.sql';
- end ;;
- DELIMITER ;
上面的trigger要将查询功效写入当地文件,默认MySQL是不应承写入的,我们查察一下:
- MySQL> show variables like '%secure%';
- +--------------------------+-------+
- | Variable_name | Value |
- +--------------------------+-------+
- | require_secure_transport | OFF |
- | secure_file_priv | NULL |
- +--------------------------+-------+
- 2 rows in set (0.00 sec)
上面secure_file_priv属性为NULL,声名MySQL不应承写入file,我必要修改my.cnf在添加secure_file_priv=''打开写文件限定;
- MySQL> show variables like '%secure%';
- +--------------------------+-------+
- | Variable_name | Value |
- +--------------------------+-------+
- | require_secure_transport | OFF |
- | secure_file_priv | |
- +--------------------------+-------+
- 2 rows in set (0.00 sec)
下面我们对flink_tab_ts举办INSERT操纵:

我们再来看看6次trigger 查询计较的功效:

各人到这里发明我写了Trigger的存储进程之后,每次在数据表flink_tab_ts举办DML操纵的时辰,Trigger就会触发一次查询计较,产出一份新的计较功效,调查上面的查询功效发明,功效表不断的增进(Append only)。
2. 有PK的Update场景
我们操作flink_tab_ts的6次DML操纵和自界说的触发器TriggerL来先容了什么是一连查询,做处理赏罚静态查询与一连查询的相关。那么上面的演示目标是为了声名一连查询,全部操纵都是insert,没有基于主键的更新,也就是说Trigger发生的功效都是append only的,那么各人想一想,假如我们操纵flink_tab这张表,按主键user举办插入和更新操纵,同样操作Trigger机制来举办一连查询,功效是奈何的的呢? 初始化表,trigger:
- drop table flink_tab;
- create table flink_tab(
- user VARCHAR(100) NOT NULL,
- clicks INT NOT NULL,
- PRIMARY KEY (user)
- );
-
- DELIMITER ;;
- create trigger flink_tab_trigger_insert after insert
- on flink_tab for each row
- begin
- select user, clicks from flink_tab into OUTFILE '/tmp/trigger.sql';
- end ;;
- DELIMITER ;
-
- DELIMITER ;;
- create trigger flink_tab_trigger_ after update
- on flink_tab for each row
- begin
- select ts, user, clicks from flink_tab into OUTFILE '/tmp/trigger.sql';
- end ;;
- DELIMITER ;
(编辑:湖南网)
【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!
|