Re: Help, triggers in ProFORTRAN

From: Scott Urman <surman_at_wwsun10.us.oracle.com>
Date: 1 Aug 1994 18:25:31 GMT
Message-ID: <31jemr$beo_at_dcsun4.us.oracle.com>


In article <1994Aug1.131902.21641_at_icf.hrb.com>, mmm_at_icf.hrb.com (MAX M. MAGLIARO) writes:
|> I am writing a precompiled application (ProFORTRAN) and I would like to
|> create a trigger such that I will get some sort of asynchronous event
|> inside my code any time another user modifies my database.
|>
|> Is this possible? The ORACLE books only show triggers used in the
|> most rudimentary sense, i.e. you can create a trigger that will cause
|> a PL/SQL block to execute. But what I want to do when the trigger
|> goes off must be done in FORTRAN, not SQL. Further, it looks like
|> the embedded CREATE TRIGGER statement in my ProFORTRAN forces me to
|> precompile the code with the SEMANTICS switch set, which means I must
|> have access to all the tables referenced in the code when I compile
|> it. That is totally impractical.
|>
|> Is there a simpler way to make a database update simply give my program
|> notification that it happened?
|>
|>
|> --
|> Max Magliaro
|> MMM_at_ICF.HRB.COM
|> Philipsburg, Pennsylvania
|>
|> "He may look like an idiot, and he may sound like an idiot, but don't
|> let him fool you. He really is an idiot." --- Groucho Marx

Database triggers run on the server, not in Fortran. You would have to call the program from PL/SQL, which isn't possible now. The best way to do this would be to have the trigger use DBMS_PIPE to send a message to your already running Pro*Fortran program. The trigger would be created in advance, and all it would do is send the message over the pipe. The Fortran program would read the pipe to receive the message (the DBMS_PIPE.RECEIVE call will wait until the message is sent). Received on Mon Aug 01 1994 - 20:25:31 CEST

Original text of this message