[firebase-br] Criacao de Triggers e Stored em tempo de execucao

Edson Marco edmafer em gmail.com
Qua Jan 11 17:13:00 -03 2012


tira o "OR ALTER" e tenta... dependendo do componente de execução do script
ele não aceita.

On Wed, Jan 11, 2012 at 4:55 PM, Vanderson <vanderson em tisul.com.br> wrote:

> Boa tarde,
>
> Estou tentando criar uma trigger em tempo de execução, porém está gerando
> o erro
> "General SQL error.Token unknown - line 10, column 8?", mas é só com essa
> trigger que tem "into" e "for" encadeado e no ibexpert cria normalmente e
> funciona corretamente, utilizo o sqlscript e delphi 6.
>
> CREATE OR ALTER trigger cria_saldo_inicial_empresa for empresa
> active after insert position 0
> AS
> declare variable cod_produto  integer;
> declare variable tipo_estoque integer;
> declare variable centro_armaz integer;
> begin
>  for select PR.PRODICOD
>      from   PRODUTO PR
>      into   :cod_produto
>  do begin
>    for select TE.TPESICOD
>        from   TIPOESTOQUE TE
>        into   :tipo_estoque
>    do begin
>      for select CE.CEESICOD
>          from   CENTROESTOQUE CE
>          into   :centro_armaz
>      do begin
>        insert into PRODUTOSALDO(EMPRICOD, PRODICOD, TPESICOD, CEESICOD,
> PSLDN3QTDE, PSLDN3QTDMIN, PSLDN3QTDMAX, PENDENTE, REGISTRO)
>                    values(new.empricod, :cod_produto, :tipo_estoque,
> :centro_armaz, 0, 0, 0, 'S', current_timestamp);
>      end
>
>      if (centro_armaz is null) then
>      begin
>        centro_armaz = 1;
>
>        insert into PRODUTOSALDO(EMPRICOD, PRODICOD, TPESICOD, CEESICOD,
> PSLDN3QTDE, PSLDN3QTDMIN, PSLDN3QTDMAX, PENDENTE, REGISTRO)
>                    values(new.empricod, :cod_produto, :tipo_estoque,
> :centro_armaz, 0, 0, 0, 'S', current_timestamp);
>
>        centro_armaz = null;
>      end
>    end
>
>    if (tipo_estoque is null) then
>    begin
>      tipo_estoque = 1;
>
>      for select CE.CEESICOD
>          from   CENTROESTOQUE CE
>          into   :centro_armaz
>      do begin
>        insert into PRODUTOSALDO(EMPRICOD, PRODICOD, TPESICOD, CEESICOD,
> PSLDN3QTDE, PSLDN3QTDMIN, PSLDN3QTDMAX, PENDENTE, REGISTRO)
>                    values(new.empricod, :cod_produto, :tipo_estoque,
> :centro_armaz, 0, 0, 0, 'S', current_timestamp);
>      end
>
>      if (centro_armaz is null) then
>      begin
>        centro_armaz = 1;
>
>        insert into PRODUTOSALDO(EMPRICOD, PRODICOD, TPESICOD, CEESICOD,
> PSLDN3QTDE, PSLDN3QTDMIN, PSLDN3QTDMAX, PENDENTE, REGISTRO)
>                    values(new.empricod, :cod_produto, :tipo_estoque,
> :centro_armaz, 0, 0, 0, 'S', current_timestamp);
>
>        centro_armaz = null;
>      end
>
>      tipo_estoque = null;
>    end
>  end
> end
>
>
>
> ______________________________________________
> FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
> Para saber como gerenciar/excluir seu cadastro na lista, use:
> http://www.firebase.com.br/fb/artigo.php?id=1107
> Para consultar mensagens antigas: http://firebase.com.br/pesquisa
>



-- 
/*
 * Edson Marco Ferrari Junior
 * edmafer em edmafer.com.br
 * http://www.edmafer.com.br
 */



Mais detalhes sobre a lista de discussão lista