Triggger no Firebird
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.
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
Curtidas 0
Respostas
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
Para ver a sintaxe de um laço, pesquise no Fórum.
Para executar instruções SQL, utilize:
Para utilizar os campos de uma Select, em um ´Insert´, você pode utiliza-los como parâmetro, assim:
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
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.
Valeu mesmo.
GOSTEI 0