Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

Execute comandos de shell do procedimento armazenado do MySQL


O MySQL não fornece essa funcionalidade pronta para uso, mas é fornecida pelo lib_mysqludf_sys biblioteca. Se você instalar isso, poderá chamar seu sys_exec função para executar comandos:
DELIMITER @@

CREATE TRIGGER Test_Trigger 
AFTER INSERT ON MyTable 
FOR EACH ROW 
BEGIN
 DECLARE cmd CHAR(255);
 DECLARE result int(10);
 SET cmd=('mv path/to/file new/path/file');
 SET result = sys_exec(cmd);
END;
@@
DELIMITER ;

(Encontrei essa abordagem em http://crazytechthoughts .blogspot.com/2011/12/call-external-program-from-mysql.html .)