触发一个DB2数据库并插入另一个DB2数据库

时间:2013-09-23 10:34:11

标签: database db2

我有两个数据库db1(Table1)和db2(Table2)。我在db1 Table Tabl1插件上创建了一个触发器。我想在db2的表2中添加该数据。我知道它在MySQL中是可能的,但我想在DB2中做同样的事情。我们可以在db2中实现这一点吗?任何回应将不胜感激。

2 个答案:

答案 0 :(得分:0)

您可以使用联合来模拟它。您可以创建一个远程表,因为它是数据库本地的。

答案 1 :(得分:0)

  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语句并从触发器主体调用该存储过程。

    您将在SQLSTATE = 55047时遇到错误SQL20136N,如果您尝试在嵌套路径中访问昵称,则会发生这种情况,如下所示:

    • 本地数据库服务器上的表TAB1
    • 昵称NICK1引用远程联盟上的某些表 服务器
    • 将访问NICK1的本地存储过程STP1
    • 在TAB1上插入触发器后将调用存储 程序STP1

    在TAB1上的触发器被触发后,DB2将开始执行 存储过程STP1。一旦这个存储过程尝试 访问昵称NICK1您将收到错误SQL20136N。

    在IBM DB2 LUW中,您只能读取触发器主体内的联合对象。

    插入,更新和删除请求将继续失败 它们可能在某些情况下导致读/写冲突

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