我有两个数据库 db1 (Table1) 和 db2 (Table2)。我在 db1 Table Tabl1 插入上创建了一个触发器。我想将该数据添加到 db2 的表 2 中。我知道这在 MySQL 中是可能的,但我想在 DB2 中做同样的事情。我们可以在 db2 中实现这一点吗?任何回应将不胜感激。
问问题
2117 次
2 回答
0
如果您在触发器正文中对昵称调用 insert/update/delete 语句
昵称不能是触发器中的更新目标。
您可以在触发器正文中包含有关昵称的 SELECT 语句。
您不能在触发器正文中包含有关昵称的 INSERT、UPDATE 或 DELETE 语句。
如果您在存储过程中调用插入/更新/删除语句并从触发器主体调用该存储过程。
您将遇到 SQLSTATE = 55047 的错误 SQL20136N,如果您尝试访问嵌套路径中的昵称,则会发生这种情况,如下所示:
- 本地数据库服务器上的表 TAB1
- 昵称 NICK1 引用远程联合服务器上的某个表
- 将访问 NICK1 的本地存储过程 STP1
- 在 TAB1 上插入触发器后,它将调用存储过程 STP1
在 TAB1 上的触发器被触发后,DB2 将开始执行存储过程 STP1。一旦此存储过程尝试访问昵称 NICK1,您将收到错误 SQL20136N。
在 IBM DB2 LUW 中,您只有对触发器主体内的联合对象的读取访问权。
插入、更新和删除请求将继续失败,因为它们可能在某些情况下导致读/写冲突
于 2014-01-19T05:14:56.957 回答
0
您可以通过使用的联合来模拟它。您 fererate 一个远程表,因为它是数据库本地的。
于 2013-09-23T15:20:08.730 回答