2016-08-08 9 views
0

В моей базе данных SQL Server уже хранилась процедура dbo.usp_AddSum. Мне нужно выполнить его из триггера в базе данных MySQL. Является ли это возможным? Я знаю о Linked Server с MySQL, но как насчет наоборот?Вызов хранимой процедуры SQL Server из MySQL

+0

Я бы очень насторожился о коде в триггере, который вызывает системы баз данных. Дизайн плохо пахнет. –

+0

@MitchWeat, конечно, вы правы, но этот дизайн также нуждается в поддержке. В случае адаптации для нестабильной бизнес-логики невозможно исправить неправильные архитектурные решения более чем на 10 лет жизни базы данных. – anatol

ответ

0

Получено решение от this post, и все в порядке. Он состоит в том, чтобы обернуть хранимую процедуру в функции PHP и вызвать эту функцию из MySQL внешним приложением:

DELIMITER @@ 

CREATE TRIGGER Test_Trigger 
AFTER INSERT ON MyTable 
FOR EACH ROW 
BEGIN 

DECLARE cmd CHAR(255); 
DECLARE result int(10); 
SET cmd=CONCAT('/usr/bin/php ', 'home/sync/send_to_sql_server.php f1=', NEW.f1, ' f2=', NEW.f2); 
SET result = sys_exec(cmd); 

END; 
@@ 
DELIMITER ; 
Смежные вопросы