sql >> Databáze >  >> RDS >> Mysql

Spouštějte příkazy shellu z uložené procedury MySQL

MySQL neposkytuje tuto funkci ihned po vybalení, ale poskytuje ji lib_mysqludf_sys knihovna. Pokud jej nainstalujete, budete moci volat jeho sys_exec funkce pro provádění příkazů:

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 ;

(Tento přístup jsem našel na http://crazytechthoughts .blogspot.com/2011/12/call-external-program-from-mysql.html .)




  1. Automaticky vypustit a znovu vytvořit aktuální indexy

  2. MySQL:Nelze vytvořit/zapsat do souboru '/tmp/#sql_3c6_0.MYI' (Errcode:2) - Co to vůbec znamená?

  3. Nelze převést hodnotu '2012-04-05 10:20:00' ze sloupce XX na TIMESTAMP

  4. Jak vygeneruji jedinečný, náhodný řetězec pro jeden z mých sloupců tabulky MySql?