"D:\Replicator_1_beta\Client\TEMPLATE.GDB" Previous topic Chapter index Next topic

BI_DETAIL

 

 

Descriptions

There is no desription for trigger BI_DETAIL

 

Definition


CREATE TRIGGER BI_DETAIL FOR DETAIL ACTIVE
BEFORE INSERT POSITION 32767
AS
DECLARE VARIABLE REPL_COUNT  INTEGER;
DECLARE VARIABLE CURR_GEN    INTEGER;
DECLARE VARIABLE LOCAL_ID    INTEGER;
DECLARE VARIABLE CURR_DB_ID  INTEGER;
BEGIN
  /*
  Работает аналоги÷но BI_MASTER
  (в BI_MASTER более подробная документация)
  */

  SELECT COUNT( DB_ID ) FROM CURR_SERV INTO :REPL_COUNT;
  /**/
  IF( REPL_COUNT = 0 )THEN/*NOT IN RECEIVE*/
    BEGIN
      SELECT DB_ID FROM CURR_DB_ID INTO :CURR_DB_ID;
      SELECT GEN FROM CURR_GEN INTO :CURR_GEN;
      /**/
      NEW.LOG_OWN_GEN = CURR_GEN + 1;/*NEXT GENERATION*/
      LOCAL_ID = GEN_ID( GEN_DETAIL, 1 );
      IF( LOCAL_ID<0 OR LOCAL_ID>4294967295 )THEN EXCEPTION E_GENERATOR_RANGE_ERROR;
      NEW.GID = CURR_DB_ID*4294967296 + LOCAL_ID;
    END
  ELSE
    IF( REPL_COUNT <> 1 )THEN EXCEPTION EINTERNAL_MULTIPLE_REPL;/*ASSERT(DEBUG)*/
  /**/
  EXECUTE PROCEDURE CHECK_DB_ID_REFERENCE( NEW.DB_ID );
  /**/
  INSERT
    INTO LOG_DETAIL( LOG_GID )
    VALUES ( NEW.GID );
END

    This file was generated with EMS InterBase/FireBird Manager (www.ibmanager.com) at 11/13/2006 10:51 PM Previous topic Chapter index Next topic

 

Хостинг от uCoz