Como distarar um Trigrer...
_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;
_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
Curtidas 0
Respostas
Emerson Nascimento
02/12/2005
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:
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.
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.
GOSTEI 0
Max.sgj
02/12/2005
Eu gostaria de escolher o trigrer a ser utilizado...
GOSTEI 0
Gandalf.nho
02/12/2005
Se vc quer disparar manualmente seu código, use uma Stored Procedure (SP) e não uma trigger.
GOSTEI 0