mysql触发器调用外部脚本
发布时间:2022-11-29 12:43:35 所属栏目:教程 来源:
导读: 思路:
需要安装一个mysql的udf函数。这样就可以了。
源码:
#在tbls表上面创建触发器
#由于不能查询到刚插入的那条记录。所以只能在这边手动的传参
drop TRIGGER trig
需要安装一个mysql的udf函数。这样就可以了。
源码:
#在tbls表上面创建触发器
#由于不能查询到刚插入的那条记录。所以只能在这边手动的传参
drop TRIGGER trig
|
思路: 需要安装一个mysql的udf函数。这样就可以了。 源码: #在tbls表上面创建触发器 #由于不能查询到刚插入的那条记录。所以只能在这边手动的传参 drop TRIGGER trigger_tbls; create TRIGGER trigger_tbls AFTER INSERT ON hive_metastore.TBLS FOR EACH ROW BEGIN DECLARE script_sh VARCHAR(200) DEFAULT 'sh /opt/trigger/trigger_tbls.sh '; DECLARE h_num VARCHAR(300) DEFAULT NEW.TBL_ID; DECLARE script_str_sh VARCHAR(2000) DEFAULT CONCAT(script_sh,h_num); DECLARE cur2 CURSOR FOR select sys_exec(script_str_sh); OPEN cur2; insert into test.test_1(name,date_time,type) values(script_str_shmysql触发器,NOW(),'table_meta'); CLOSE cur2; END; #在partition上面创建触发器 drop TRIGGER trigger_tbls_partition; create TRIGGER trigger_tbls_partition AFTER INSERT ON hive_metastore.PARTITION_KEYS FOR EACH ROW BEGIN declare script varchar(4000) DEFAULT 'sh /opt/trigger/trigger_par.sh '; declare num varchar(300) DEFAULT NEW.TBL_ID; declare key_name varchar(300) DEFAULT NEW.PKEY_NAME; declare key_name_str varchar(300) DEFAULT CONCAT(" ",key_name); declare script_str varchar(4000) DEFAULT CONCAT(script,num,key_name_str); DECLARE cur1 CURSOR FOR select sys_exec(script_str); insert into test.test_1(name,date_time,type) values(script_str,NOW(),'partition'); OPEN cur1; CLOSE cur1; END; #SELECT * FROM information_schema.`TRIGGERS`; (编辑:草根网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
推荐文章
站长推荐

浙公网安备 33038102330554号