I have a oracle table with 7 columns, which has 2 triggers on it. First one generates a unique identifier (incrementing sequ开发者_Python百科ence)
The second trigger than uses utl_tcp to poke a remote server and pass a 20 chars of data. The second trigger is defined "AFTER INSERT"
Now the remote server which gets the ping from oracle trigger goes back and queries the table to see what was added recently (there is a status field in there which tells which differntiates the new entry from an old one.)
Now the problem is if I query immediately it returns saying no new data. However if I query the table after 10 secs, it returns me the new data.
Isnt this weird, should i be expecting that given the order trigger ->insert -> trigger and then select, I should see the data .
Isnt this a problem, has anyone else seen this.
I would expect the transactional integrity irrespictive of how slow fast,big small my oracle server is.
Is there any flag i need to set to achieve this ??
The remote server will not see your newly inserted rows until they have been committed, which will be some (maybe small) finite time after the trigger fires.
精彩评论