我想在一个数据库的表上创建一个触发器,并将该触发器的记录添加到另一个数据库的表中。让我们假设,我在第一个数据库中有一个表,该表有5行和2列。另一方面,我在另一个数据库中有一个表,该表有3行和2列,其中另一个数据库的表中有3行与第一个数据库的表中的3行完全相同。
我知道,如何在同一个数据库上触发插入/更新表。但是如何触发表从一个数据库到另一个数据库呢?
下面是触发同一数据库中的表的代码。
数据库_1---〉模式_1---〉表_1
|col1 col2|
_____|_____
|1a 1b |
|2a 2b |
|3a 3b |
|4a 4b |
|5a 5b |
数据库_2---〉模式_2---〉表_2
第一个
1条答案
按热度按时间c0vxltue1#
用触发器可不行。
更新另一个数据库中的表的方法是使用昵称。
但CREATE TRIGGER statement声明:
SQL过程语句
指定要作为触发操作一部分的SQL语句。不支持对复合SQL中的昵称执行搜索更新、搜索删除、插入或合并操作。
和
不支持在搜索的UPDATE语句、DELETE语句或INSERT语句中包含对昵称的引用的过程(SQLSTATE 25000)。
您可以将一些过程逻辑用于支持2 PC的联邦服务器,但不能用于触发器。
Enabling two-phase commit for federated transactions
更新日期:
首先,您应该熟悉Db2中Federation的概念。
Db2 -〉Db2联合的关键技术主题包括:
Enabling the federated server to access data sources(如果需要,请更新dbm cfg参数,并重新启动联邦服务器示例)。
Configuring remote Db2 data source information:
在联合服务器上: