Re: Help, triggers in ProFORTRAN

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


In article <31jemr$beo_at_dcsun4.us.oracle.com>, surman_at_wwsun10.us.oracle.com (Scott Urman) writes:
|> 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).

One more thing - DBMS_PIPE is described in the Application Developer's Guide, Appendix A. Received on Mon Aug 01 1994 - 20:26:24 CEST

Original text of this message