考慮‘MySQL如何去連結遠程SQL’ 這個問題已經考慮了大半月了,這之前一直糾結於想找出類似於我做‘SQL 如何連結 遠程MySQL’的那種直接的方法,找到一個合適的介面。
但努力了那麼久,還是失敗了,所以我想到另一個方法去實現相同的結果,當在MySQL中插入一條記錄時,遠端SQL會插入一條相同的記錄。
鑒於之前我已經做出了‘SQL 如何連結 遠程MySQL’,
相應文章地址:http://database.51cto.com/art/201008/221118.htm)
我用了兩個觸發器,一個預存程序,一個作業完成了相同的效果。
(我用一張圖來闡述了我的做法)
- /*①的代碼*/
- /*MySQL的觸發器寫法*/
- delimiter//
- create trigger insert_mysql_test before insert on Mysql_test
- for each row
- begin
- insert into Mysql_tem set tem_id = new test_id ,tem_name = new test_name;
- /*new後面的id,name是Mysql_test表的欄位名*/
- end
- //
- /*MySQL的觸發器寫法*/
代碼
- /*②的代碼*/
- /*連結的預存程序*/
- use kk
- go
- create procedure select_x
- as
- insert into sql_tem(x_id,x_name) select * from openquery(GLB, 'select x_id,x_name from Mysql_tem')
- delete from sql_tem
- delete openquery(GLB, 'SELECT * FROM Mysql_tem')
- go
- /*連結的預存程序*/
- /*③的代碼*/
- /*建立在sql_tem表上的觸發器*/
- create trigger tr_insert_tem on sql_tem
- for insert
- as
- insert into sql_test
- select * from inserted
- go
- /*建立在tem表上的觸發器*/
<補充>關於那個作業,我用的是SQL Server2005的可視化做的,它最重要的操作就是定時執行'exec select_x'這個操作。執行預存程序)
加一個給大家看一下,同時在SQL 2000的企業管理器中也可以找到。
原文標題:MySQL 如何連結 遠程SQL
連結:http://www.cnblogs.com/guolebin7/archive/2010/09/01/1815304.html
編輯精選】