Kbase P59826: Do database triggers run on the client or server?
Autor |
  Progress Software Corporation - Progress |
Acesso |
  Público |
Publicação |
  18/05/2010 |
|
Status: Unverified
GOAL:
Do database triggers run on a client or a server?
GOAL:
Where do triggers execute?
GOAL:
Where do ABL triggers execute?
GOAL:
Where do 4GL triggers execute?
GOAL:
Where are DB triggers fired?
GOAL:
Where do SQL-92 Java Stored Procedures (triggers) execute?
GOAL:
What is the -trig parameter used for?
FACT(s) (Environment):
** "<file-name>" was not found. (293)
All Supported Operating Systems
Progress/OpenEdge Product Family
OpenEdge Category: Database
OpenEdge Category: Language (4GL/ABL)
FIX:
All ABL / 4GL triggers are stored within the database but are executed by the client which encounters the circumstances the trigger was written for.
If a client session is performing a create, write, or delete upon a table, the client recognizes there is a trigger associated with one of those functions and runs the necessary trigger code as a sub-transaction of the existing transaction.
If the client session is remote from the database server, then the trigger is performed by the remote client process through TCP.
If the client session is a self-service connection to the database server, then the trigger is performed by the self-service client process through shared memory.
If you wish to store your trigger code in a location that is common to multiple users or a directory outside your PROPATH you can do so by using the -trig parameter, specifying the directory in which the trigger code resides.
SQL-92 Java Stored Procedures (the same inherent concept as an ABL / 4GL trigger) are performed by the SQLSRV process on the database server machine on behalf of the client process.