2016-08-08 24 views
0

私のSQL Serverデータベースには、すでにプロシージャdbo.usp_AddSumが格納されています。 MySQLデータベースのトリガから実行する必要があります。出来ますか?私はMySQLとリンクサーバーについて知っていますが、その逆はどうですか?SQLからストアドプロシージャを呼び出す

+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 ;