2011-02-16 38 views
1

我有一个有7列的oracle表,它有2个触发器。 第一个生成一个唯一的标识符(增量序列)Oracle上的事务完整性保证

第二个触发器比使用utl_tcp来戳远程服务器并传递20个字符的数据。 第二个触发器被定义为“AFTER INSERT”

现在,从Oracle触发器获取ping的远程服务器返回并查询表以查看最近添加的内容(此处有一个状态字段,它告诉哪些内容区分从旧的一个新的条目。)

现在的问题是,如果我立即查询它返回说没有新的数据。 但是,如果我在10秒后查询表格,它会将新数据返回给我。

没有这个奇怪的,我应该期待给定的顺序触发器 - >插入 - >触发器,然后选择,我应该看到的数据。

这不是一个问题,有没有其他人看到这个。

我会期待事务的完整性,不管我的oracle服务器有多慢,速度有多慢。

有没有我需要设置的任何标志来实现这个?

回答

3

在触发器触发后,远程服务器将不会看到新插入的行,直到它们被提交,这将是一些(可能很小)的有限时间。