Triggger no Firebird

Firebird

27/12/2004

Pessoal tenho lido alguns artigos sobre Trigger e Store procedure mas não consegui avancar muito, postei inclusive esta dúvida no Forum do Interbase / Firebird mas não obtive nenhuma resposta, se alguém puder me ajudar agradeceria muito. Segue abaixo meu problema

Preciso criar uma trigger que no evento post de uma determinada tabela seja executada, esta trigger teria a seguinte estrutura:

Preciso fazer um select em uma tabela onde terá no máximo 30 registro

preciso dar um select em outra tabela passando os registros da tabela anterior como parametro e caso não exista tenho que gravar este novo registro.


Ariovaldo

Ariovaldo

Curtidas 0

Respostas

Maicongabriel

Maicongabriel

27/12/2004

Crie uma Trigger ´Before´ ´Insert´ e ´Update´ que chame uma Procedure.
Esta procedure fará um Select de até 30 registros, utilizando um laço para a verificação de cada registro;
Após a verificação surgirá ou não a necessidade de um ‘Insert’.

Para selecionar até 30 registros de uma tabela
SELECT FIRST 30 CODIGO FROM TABELA

Para ver a sintaxe de um laço, pesquise no Fórum.
Para executar instruções SQL, utilize:
EXECUTE STATEMENT ´SQL´

Para utilizar os campos de uma Select, em um ´Insert´, você pode utiliza-los como parâmetro, assim:
EXECUTE STATEMENT ´INSERT INTO TABELA(CODIGO) ´ ||
                  ´VALUES (´ || :CODIGO || ´)´;



GOSTEI 0
Ariovaldo

Ariovaldo

27/12/2004

Era isso mesmo que precisava, agora já consigo finalizar, eu já tinha todo o conceito, a Sintaxe que não esyava funcionando.

Valeu mesmo.


GOSTEI 0
POSTAR