我知道可以在插入,更新和刪除時使用觸發器,但是select語句上的觸發器(或排序)如何。我想用一個觸發器在表B上插入數據,當它被選中時表A上存在一條記錄,這可能是可能的。是否有可能在MySQL的select語句上觸發?
在此先感謝。
我知道可以在插入,更新和刪除時使用觸發器,但是select語句上的觸發器(或排序)如何。我想用一個觸發器在表B上插入數據,當它被選中時表A上存在一條記錄,這可能是可能的。是否有可能在MySQL的select語句上觸發?
在此先感謝。
不完全是一個觸發器,但您可以:
CREATE FUNCTION myFunc(...) BEGIN INSERT INTO myTable VALUES(...) END;
然後
SELECT myFunc(...), ... FROM otherTable WHERE id = 1;
不是一個完美的解決方案,但。
在數據庫本身中是不可能的。
但是,對於數據庫(例如Sybase-不確定MySQL)有哪些監控/儀器產品可以跟蹤服務器執行的每個查詢,並且可以根據這些數據做任何事情 - 通常將查詢日誌存儲到數據倉庫中後面的分析,但他們也可以爲你插入一個表B的記錄,我猜。
您應該設計您的應用程序,以便僅通過某些方法進行數據庫訪問,並在這些方法中添加您所需的監視。
您可以編寫一個應用程序,該應用程序將監視查詢日誌並在發生選擇時執行某些操作。一個非常原始的方式來解決這個問題,雖然...