[firebase-br] trigger com inserção de vários registros resultados de select
Carlos Marcelo Filgueiras
carlos-mf em sefaz.go.gov.br
Qui Mar 19 17:40:33 -03 2009
COMO FAZER UM TRIGGER +/- ASSIM:
não sei como fazer para que dentro do WHILE .. DO sejam inseridos os próximos registros da tabela TBCADSOCIO
uso firebird 2.1 .
.....
--
AFTER INSERT POSITION 0
AS
DECLARE VARIABLE VCCE varchar(18);
DECLARE VARIABLE VPRO integer;
DECLARE VARIABLE VAUT varchar(255);
DECLARE VARIABLE I integer;
DECLARE VARIABLE Y integer;
BEGIN
IF (NEW.ENVIACCE = 'S') then
begin
INSERT INTO TBCADREMESSA(CCE, IDPROTOCOLO, AUTOS) values((select CNPJ from TBCADCONT where CCE = NEW.CCE), NEW.IDPROTOCOLO, NEW.TAUTOS);
end
IF (NEW.ENVIASOC = 'S') then
begin
VPRO = new.IDPROTOCOLO;
VAUT = new.TAUTOS;
Y = 0;
for select (select count(CPFCNPJ) from TBCADSOCIO where CPFCNPJ is not null and CCEREL = NEW.CCE) as cont, CPFCNPJ from TBCADSOCIO where CPFCNPJ is not null and CCEREL = NEW.CCE
into :I, :VCCE do
begin
WHILE (Y < I) DO
BEGIN
Y = Y + 1;
INSERT INTO TBCADREMESSA(CCE, IDPROTOCOLO, AUTOS) values(:VCCE, :VPRO, :VAUT);
end
end
end
IF (NEW.ENVIACNT = 'S') then
begin
INSERT INTO TBCADREMESSA(CCE, IDPROTOCOLO, AUTOS) values((select CPFCNPJ from TBCADCONTADOR where CPFCNPJ = (SELECT CONTADOR FROM TBCADCONT WHERE CCE = NEW.CCE)), NEW.IDPROTOCOLO, NEW.TAUTOS);
end
END^
--
.....
desde já muito obrigado!
Krlos
Mais detalhes sobre a lista de discussão lista