簡體   English   中英

在一個DB2數據庫上觸發並插入到另一個DB2數據庫中

[英]Trigger on one DB2 database and insert into another DB2 database

我有兩個數據庫db1(表1)和db2(表2)。 我在db1表Tabl1插入上創建了一個觸發器。 我想將該數據添加到db2的Table2中。 我知道MySQL中有可能,但是我想在DB2中做同樣的事情。 我們可以在db2中實現這一點嗎? 任何回應將不勝感激。

您可以通過使用的聯合身份進行模擬。 您需要對遠程表進行操作,因為它是數據庫本地的。

  1. 如果您在觸發器主體中對昵稱調用insert / update / delete語句

    昵稱不能是觸發器中的更新目標。

    您可以在觸發器主體中包含昵稱的SELECT語句。

    您不能在觸發器主體中的昵稱上包含INSERT,UPDATE或DELETE語句。

    http://publib.boulder.ibm.com/infocenter/db2luw/v8/index.jsp?topic=/com.ibm.db2.ii.doc/admin/tfpwrk01.htm

  2. 如果您在storedprocedure中調用insert / update / delete語句並從觸發器主體中調用該存儲過程。

    您將遇到錯誤SQL20136N(SQLSTATE = 55047),並且如果您嘗試訪問嵌套路徑中的昵稱,則會發生以下情況:

    • 本地數據庫服務器上的表TAB1
    • 昵稱NICK1引用遠程聯合服務器上的某些表
    • 本地存儲過程STP1,它將訪問NICK1
    • 在TAB1上插入觸發器后,它將調用存儲過程STP1

    在觸發TAB1上的觸發器后,DB2將開始執行存儲過程STP1。 一旦此存儲過程嘗試訪問昵稱NICK1,您將收到錯誤SQL20136N。

    在IBM DB2 LUW中,您僅對觸發器主體中的聯合對象具有讀取權限。

    插入,更新和刪除請求將繼續失敗,因為它們在某些情況下可能導致讀/寫沖突

    http://www-01.ibm.com/support/docview.wss?uid=swg1JR24656

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM