Fórum Como distarar um Trigrer... #54054

02/12/2005

0

_DM_INTERBASE.IBQuery1.database:= _DM_INTERBASE.IBDatabase1;
_DM_INTERBASE.IBQuery1.SQL.Clear;
_DM_INTERBASE.IBQuery1.SQL.Add(´BEFORE UPDATE TRIGGER CONTADOR_TRI FOR CONTADOR ACTIVE BEFORE INSERT POSITION 0 AS BEGIN NEW.CODIGO = GEN_ID(GEN_CONTADOR,1);END´);
_DM_INTERBASE.IBQuery1.ExecSQL;
_DM_INTERBASE.IBQuery1.SQL.Clear;


Max.sgj

Max.sgj

Responder

Posts

02/12/2005

Emerson Nascimento

a trigger (gatilho), se ativa, é disparada automaticamente pelo banco de dados. não é preciso intervenção humana.

essa é a sintaxe básica para criação de uma trigger:
CREATE TRIGGER nome_da_trigger FOR nome_da_tabela
ACTIVE BEFORE INSERT POSITION 0
AS
BEGIN
  IF (NEW.nome_do_campo IS NULL) THEN
    NEW.nome_do_campo = GEN_ID(nome_do_generator,1);
END


nesse caso a trigger [i:38b8df89d4]nome_da_trigger[/i:38b8df89d4] será disparada automaticamente ao inserir um registro na tabela [i:38b8df89d4]nome_da_tabela[/i:38b8df89d4], sendo preenchido o campo [i:38b8df89d4]nome_do_campo[/i:38b8df89d4] com o valor do generator [i:38b8df89d4]nome_do_generator[/i:38b8df89d4] acrescido de 1, desde que o campo [i:38b8df89d4]nome_do_campo[/i:38b8df89d4] esteja nulo.


Responder

Gostei + 0

02/12/2005

Max.sgj

Eu gostaria de escolher o trigrer a ser utilizado...


Responder

Gostei + 0

02/12/2005

Gandalf.nho

Se vc quer disparar manualmente seu código, use uma Stored Procedure (SP) e não uma trigger.


Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar